aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen/ServiceInterfaceGenerator.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-05-19 12:01:16 -0500
committerrogerk <devnull@localhost>2011-05-19 12:01:16 -0500
commitf1816beebe7f68a6e9380b964d93c1dee91fb277 (patch)
treec03f8e2d549a7ed71e243a1437085b9d7c976f42 /src/ProtoGen/ServiceInterfaceGenerator.cs
parent68d831e3a48ea3a81b3791a24219bc3406b962b8 (diff)
downloadprotobuf-f1816beebe7f68a6e9380b964d93c1dee91fb277.tar.gz
protobuf-f1816beebe7f68a6e9380b964d93c1dee91fb277.tar.bz2
protobuf-f1816beebe7f68a6e9380b964d93c1dee91fb277.zip
- Added CSharpServiceType NONE to skip service generation.
- Defaulted service_generator_type to NONE - Added /protos/extest/unittest_generic_services.proto to test services - Migrated unit tests to use the new generic services for testing
Diffstat (limited to 'src/ProtoGen/ServiceInterfaceGenerator.cs')
-rw-r--r--src/ProtoGen/ServiceInterfaceGenerator.cs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ProtoGen/ServiceInterfaceGenerator.cs b/src/ProtoGen/ServiceInterfaceGenerator.cs
index 4aa8ffaa..019df4c8 100644
--- a/src/ProtoGen/ServiceInterfaceGenerator.cs
+++ b/src/ProtoGen/ServiceInterfaceGenerator.cs
@@ -47,6 +47,9 @@ namespace Google.ProtocolBuffers.ProtoGen {
: base(descriptor) {
svcType = descriptor.File.CSharpOptions.ServiceGeneratorType;
switch (svcType) {
+ case CSharpServiceType.NONE:
+ _generator = new NoServicesGenerator(descriptor);
+ break;
case CSharpServiceType.GENERIC:
_generator = new GenericServiceGenerator(descriptor);
break;
@@ -63,6 +66,19 @@ namespace Google.ProtocolBuffers.ProtoGen {
public void Generate(TextGenerator writer) {
_generator.Generate(writer);
}
+
+ class NoServicesGenerator : SourceGeneratorBase<ServiceDescriptor>, ISourceGenerator {
+
+ public NoServicesGenerator(ServiceDescriptor descriptor)
+ : base(descriptor) {
+ }
+ public virtual void Generate(TextGenerator writer) {
+ writer.WriteLine("/*");
+ writer.WriteLine("* Service generation is now disabled by default, use the following option to enable:");
+ writer.WriteLine("* option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;");
+ writer.WriteLine("*/");
+ }
+ }
class ServiceInterfaceGenerator : SourceGeneratorBase<ServiceDescriptor>, ISourceGenerator {