aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Test
diff options
context:
space:
mode:
Diffstat (limited to 'src/ProtocolBuffers.Test')
-rw-r--r--src/ProtocolBuffers.Test/DescriptorsTest.cs30
-rw-r--r--src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj1
-rw-r--r--src/ProtocolBuffers.Test/ServiceTest.cs34
-rw-r--r--src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs88
-rw-r--r--src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs250
-rw-r--r--src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs88
-rw-r--r--src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs110
7 files changed, 295 insertions, 306 deletions
diff --git a/src/ProtocolBuffers.Test/DescriptorsTest.cs b/src/ProtocolBuffers.Test/DescriptorsTest.cs
index c5223f9f..f3c03cd6 100644
--- a/src/ProtocolBuffers.Test/DescriptorsTest.cs
+++ b/src/ProtocolBuffers.Test/DescriptorsTest.cs
@@ -75,13 +75,13 @@ namespace Google.ProtocolBuffers {
Assert.AreEqual("ImportEnum", UnitTestImportProtoFile.Descriptor.EnumTypes[0].Name);
for (int i = 0; i < file.EnumTypes.Count; i++) {
Assert.AreEqual(i, file.EnumTypes[i].Index);
- }
-
- ServiceDescriptor service = TestService.Descriptor;
- Assert.AreEqual(service, file.Services[0]);
- Assert.AreEqual(service, file.FindTypeByName<ServiceDescriptor>("TestService"));
- Assert.IsNull(file.FindTypeByName<ServiceDescriptor>("NoSuchType"));
- Assert.IsNull(file.FindTypeByName<ServiceDescriptor>("protobuf_unittest.TestService"));
+ }
+
+ ServiceDescriptor service = TestGenericService.Descriptor;
+ Assert.AreEqual(service, UnitTestGenericServices.Descriptor.Services[0]);
+ Assert.AreEqual(service, UnitTestGenericServices.Descriptor.FindTypeByName<ServiceDescriptor>("TestGenericService"));
+ Assert.IsNull(UnitTestGenericServices.Descriptor.FindTypeByName<ServiceDescriptor>("NoSuchType"));
+ Assert.IsNull(UnitTestGenericServices.Descriptor.FindTypeByName<ServiceDescriptor>("protobuf_unittest.TestGenericService"));
Assert.AreEqual(0, UnitTestImportProtoFile.Descriptor.Services.Count);
for (int i = 0; i < file.Services.Count; i++) {
Assert.AreEqual(i, file.Services[i].Index);
@@ -261,11 +261,11 @@ namespace Google.ProtocolBuffers {
[Test]
public void ServiceDescriptor() {
- ServiceDescriptor service = TestService.Descriptor;
-
- Assert.AreEqual("TestService", service.Name);
- Assert.AreEqual("protobuf_unittest.TestService", service.FullName);
- Assert.AreEqual(UnitTestProtoFile.Descriptor, service.File);
+ ServiceDescriptor service = TestGenericService.Descriptor;
+
+ Assert.AreEqual("TestGenericService", service.Name);
+ Assert.AreEqual("protobuf_unittest.TestGenericService", service.FullName);
+ Assert.AreEqual(UnitTestGenericServices.Descriptor, service.File);
Assert.AreEqual(2, service.Methods.Count);
@@ -310,9 +310,9 @@ namespace Google.ProtocolBuffers {
enumType.getOptions().hasExtension(UnittestCustomOptions.enumOpt1));
Assert.AreEqual(Integer.valueOf(-789),
enumType.getOptions().getExtension(UnittestCustomOptions.enumOpt1));
- */
-
- ServiceDescriptor service = TestServiceWithCustomOptions.Descriptor;
+ */
+
+ ServiceDescriptor service = TestGenericServiceWithCustomOptions.Descriptor;
Assert.IsTrue(service.Options.HasExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1));
Assert.AreEqual(-9876543210L, service.Options.GetExtension(UnitTestCustomOptionsProtoFile.ServiceOpt1));
diff --git a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
index f72bcf87..83a598d3 100644
--- a/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
+++ b/src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
@@ -92,6 +92,7 @@
<Compile Include="TestProtos\UnitTestCustomOptionsProtoFile.cs" />
<Compile Include="TestProtos\UnitTestEmbedOptimizeForProtoFile.cs" />
<Compile Include="TestProtos\UnitTestEmptyProtoFile.cs" />
+ <Compile Include="TestProtos\UnitTestGenericServices.cs" />
<Compile Include="TestProtos\UnitTestImportLiteProtoFile.cs" />
<Compile Include="TestProtos\UnitTestImportProtoFile.cs" />
<Compile Include="TestProtos\UnitTestMessageSetProtoFile.cs" />
diff --git a/src/ProtocolBuffers.Test/ServiceTest.cs b/src/ProtocolBuffers.Test/ServiceTest.cs
index f6f7c747..579c4582 100644
--- a/src/ProtocolBuffers.Test/ServiceTest.cs
+++ b/src/ProtocolBuffers.Test/ServiceTest.cs
@@ -50,12 +50,12 @@ namespace Google.ProtocolBuffers {
delegate void Action<T1, T2>(T1 t1, T2 t2);
- private static readonly MethodDescriptor FooDescriptor = TestService.Descriptor.Methods[0];
- private static readonly MethodDescriptor BarDescriptor = TestService.Descriptor.Methods[1];
+ private static readonly MethodDescriptor FooDescriptor = TestGenericService.Descriptor.Methods[0];
+ private static readonly MethodDescriptor BarDescriptor = TestGenericService.Descriptor.Methods[1];
[Test]
public void GetRequestPrototype() {
- TestService service = new TestServiceImpl();
+ TestGenericService service = new TestServiceImpl();
Assert.AreSame(service.GetRequestPrototype(FooDescriptor), FooRequest.DefaultInstance);
Assert.AreSame(service.GetRequestPrototype(BarDescriptor), BarRequest.DefaultInstance);
@@ -63,7 +63,7 @@ namespace Google.ProtocolBuffers {
[Test]
public void GetResponsePrototype() {
- TestService service = new TestServiceImpl();
+ TestGenericService service = new TestServiceImpl();
Assert.AreSame(service.GetResponsePrototype(FooDescriptor), FooResponse.DefaultInstance);
Assert.AreSame(service.GetResponsePrototype(BarDescriptor), BarResponse.DefaultInstance);
@@ -71,14 +71,14 @@ namespace Google.ProtocolBuffers {
[Test]
public void CallMethodFoo() {
- MockRepository mocks = new MockRepository();
- FooRequest fooRequest = FooRequest.CreateBuilder().Build();
+ MockRepository mocks = new MockRepository();
+ FooRequest fooRequest = FooRequest.CreateBuilder().Build();
FooResponse fooResponse = FooResponse.CreateBuilder().Build();
IRpcController controller = mocks.StrictMock<IRpcController>();
bool fooCalled = false;
- TestService service = new TestServiceImpl((request, responseAction) => {
+ TestGenericService service = new TestServiceImpl((request, responseAction) => {
Assert.AreSame(fooRequest, request);
fooCalled = true;
responseAction(fooResponse);
@@ -115,8 +115,8 @@ namespace Google.ProtocolBuffers {
FooRequest fooRequest = FooRequest.CreateBuilder().Build();
MockRepository mocks = new MockRepository();
IRpcChannel mockChannel = mocks.StrictMock<IRpcChannel>();
- IRpcController mockController = mocks.StrictMock<IRpcController>();
- TestService service = TestService.CreateStub(mockChannel);
+ IRpcController mockController = mocks.StrictMock<IRpcController>();
+ TestGenericService service = TestGenericService.CreateStub(mockChannel);
Action<FooResponse> doneHandler = mocks.StrictMock<Action<FooResponse>>();
using (mocks.Record()) {
@@ -126,7 +126,7 @@ namespace Google.ProtocolBuffers {
.IgnoreArguments()
.Constraints(Is.Same(FooDescriptor), Is.Same(mockController), Is.Same(fooRequest),
Is.Same(FooResponse.DefaultInstance), Is.Anything())
- .Do((CallFooDelegate) ((p1, p2, p3, response, done) => done(response)));
+ .Do((CallFooDelegate) ((p1, p2, p3, response, done) => done(response)));
doneHandler(FooResponse.DefaultInstance);
}
@@ -137,14 +137,14 @@ namespace Google.ProtocolBuffers {
[Test]
public void CallMethodBar() {
- MockRepository mocks = new MockRepository();
- BarRequest barRequest = BarRequest.CreateBuilder().Build();
+ MockRepository mocks = new MockRepository();
+ BarRequest barRequest = BarRequest.CreateBuilder().Build();
BarResponse barResponse = BarResponse.CreateBuilder().Build();
IRpcController controller = mocks.StrictMock<IRpcController>();
bool barCalled = false;
- TestService service = new TestServiceImpl(null, (request, responseAction) => {
+ TestGenericService service = new TestServiceImpl(null, (request, responseAction) => {
Assert.AreSame(barRequest, request);
barCalled = true;
responseAction(barResponse);
@@ -168,15 +168,15 @@ namespace Google.ProtocolBuffers {
}
- class TestServiceImpl : TestService {
+ class TestServiceImpl : TestGenericService {
private readonly Action<FooRequest, Action<FooResponse>> fooHandler;
private readonly Action<BarRequest, Action<BarResponse>> barHandler;
private readonly IRpcController expectedController;
internal TestServiceImpl() {
- }
-
- internal TestServiceImpl(Action<FooRequest, Action<FooResponse>> fooHandler,
+ }
+
+ internal TestServiceImpl(Action<FooRequest, Action<FooResponse>> fooHandler,
Action<BarRequest, Action<BarResponse>> barHandler,
IRpcController expectedController) {
this.fooHandler = fooHandler;
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
index 1d2039c6..4fca38db 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
@@ -3957,90 +3957,10 @@ namespace Google.ProtocolBuffers.TestProtos {
#endregion
#region Services
- public abstract class TestServiceWithCustomOptions : pb::IService {
- public abstract void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse> done);
-
- public static pbd::ServiceDescriptor Descriptor {
- get { return UnitTestCustomOptionsProtoFile.Descriptor.Services[0]; }
- }
- public pbd::ServiceDescriptor DescriptorForType {
- get { return Descriptor; }
- }
-
- public void CallMethod(
- pbd::MethodDescriptor method,
- pb::IRpcController controller,
- pb::IMessage request,
- global::System.Action<pb::IMessage> done) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.CallMethod() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- this.Foo(controller, (global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest) request,
- pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse>(
- done));
- return;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetRequestPrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetResponsePrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public static Stub CreateStub(pb::IRpcChannel channel) {
- return new Stub(channel);
- }
-
- public class Stub : global::Google.ProtocolBuffers.TestProtos.TestServiceWithCustomOptions {
- internal Stub(pb::IRpcChannel channel) {
- this.channel = channel;
- }
-
- private readonly pb::IRpcChannel channel;
-
- public pb::IRpcChannel Channel {
- get { return channel; }
- }
-
- public override void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse> done) {
- channel.CallMethod(Descriptor.Methods[0],
- controller, request, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance,
- pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance));
- }
- }
- }
+ /*
+ * Service generation is now disabled by default, use the following option to enable:
+ * option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;
+ */
#endregion
}
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
new file mode 100644
index 00000000..51f16d25
--- /dev/null
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestGenericServices.cs
@@ -0,0 +1,250 @@
+// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestGenericServices {
+
+ #region Extension registration
+ public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {
+ }
+ #endregion
+ #region Static variables
+ #endregion
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbd::FileDescriptor descriptor;
+
+ static UnitTestGenericServices() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ "CiZleHRlc3QvdW5pdHRlc3RfZ2VuZXJpY19zZXJ2aWNlcy5wcm90bxIRcHJv" +
+ "dG9idWZfdW5pdHRlc3QaJGdvb2dsZS9wcm90b2J1Zi9jc2hhcnBfb3B0aW9u" +
+ "cy5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3VuaXR0ZXN0LnByb3RvGi1nb29n" +
+ "bGUvcHJvdG9idWYvdW5pdHRlc3RfY3VzdG9tX29wdGlvbnMucHJvdG8yoAEK" +
+ "ElRlc3RHZW5lcmljU2VydmljZRJECgNGb28SHS5wcm90b2J1Zl91bml0dGVz" +
+ "dC5Gb29SZXF1ZXN0Gh4ucHJvdG9idWZfdW5pdHRlc3QuRm9vUmVzcG9uc2US" +
+ "RAoDQmFyEh0ucHJvdG9idWZfdW5pdHRlc3QuQmFyUmVxdWVzdBoeLnByb3Rv" +
+ "YnVmX3VuaXR0ZXN0LkJhclJlc3BvbnNlMpUBCiNUZXN0R2VuZXJpY1NlcnZp" +
+ "Y2VXaXRoQ3VzdG9tT3B0aW9ucxJjCgNGb28SKS5wcm90b2J1Zl91bml0dGVz" +
+ "dC5DdXN0b21PcHRpb25Gb29SZXF1ZXN0GioucHJvdG9idWZfdW5pdHRlc3Qu" +
+ "Q3VzdG9tT3B0aW9uRm9vUmVzcG9uc2UiBeD6jB4CGgmQsose09uAy0lCREgB" +
+ "wj4/CiFHb29nbGUuUHJvdG9jb2xCdWZmZXJzLlRlc3RQcm90b3MSF1VuaXRU" +
+ "ZXN0R2VuZXJpY1NlcnZpY2VziA4B");
+ pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {
+ descriptor = root;
+ pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();
+ RegisterAllExtensions(registry);
+ global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.RegisterAllExtensions(registry);
+ global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.RegisterAllExtensions(registry);
+ global::Google.ProtocolBuffers.TestProtos.UnitTestCustomOptionsProtoFile.RegisterAllExtensions(registry);
+ return registry;
+ };
+ pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,
+ new pbd::FileDescriptor[] {
+ global::Google.ProtocolBuffers.DescriptorProtos.CSharpOptions.Descriptor,
+ global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.Descriptor,
+ global::Google.ProtocolBuffers.TestProtos.UnitTestCustomOptionsProtoFile.Descriptor,
+ }, assigner);
+ }
+ #endregion
+
+ }
+ #region Services
+ public abstract class TestGenericService : pb::IService {
+ public abstract void Foo(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.FooRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.FooResponse> done);
+ public abstract void Bar(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.BarRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.BarResponse> done);
+
+ public static pbd::ServiceDescriptor Descriptor {
+ get { return UnitTestGenericServices.Descriptor.Services[0]; }
+ }
+ public pbd::ServiceDescriptor DescriptorForType {
+ get { return Descriptor; }
+ }
+
+ public void CallMethod(
+ pbd::MethodDescriptor method,
+ pb::IRpcController controller,
+ pb::IMessage request,
+ global::System.Action<pb::IMessage> done) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.CallMethod() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ this.Foo(controller, (global::Google.ProtocolBuffers.TestProtos.FooRequest) request,
+ pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.FooResponse>(
+ done));
+ return;
+ case 1:
+ this.Bar(controller, (global::Google.ProtocolBuffers.TestProtos.BarRequest) request,
+ pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.BarResponse>(
+ done));
+ return;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetRequestPrototype() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return global::Google.ProtocolBuffers.TestProtos.FooRequest.DefaultInstance;
+ case 1:
+ return global::Google.ProtocolBuffers.TestProtos.BarRequest.DefaultInstance;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetResponsePrototype() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance;
+ case 1:
+ return global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public static Stub CreateStub(pb::IRpcChannel channel) {
+ return new Stub(channel);
+ }
+
+ public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericService {
+ internal Stub(pb::IRpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private readonly pb::IRpcChannel channel;
+
+ public pb::IRpcChannel Channel {
+ get { return channel; }
+ }
+
+ public override void Foo(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.FooRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.FooResponse> done) {
+ channel.CallMethod(Descriptor.Methods[0],
+ controller, request, global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance,
+ pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.FooResponse, global::Google.ProtocolBuffers.TestProtos.FooResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance));
+ }
+
+ public override void Bar(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.BarRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.BarResponse> done) {
+ channel.CallMethod(Descriptor.Methods[1],
+ controller, request, global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance,
+ pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.BarResponse, global::Google.ProtocolBuffers.TestProtos.BarResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance));
+ }
+ }
+ }
+ public abstract class TestGenericServiceWithCustomOptions : pb::IService {
+ public abstract void Foo(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse> done);
+
+ public static pbd::ServiceDescriptor Descriptor {
+ get { return UnitTestGenericServices.Descriptor.Services[1]; }
+ }
+ public pbd::ServiceDescriptor DescriptorForType {
+ get { return Descriptor; }
+ }
+
+ public void CallMethod(
+ pbd::MethodDescriptor method,
+ pb::IRpcController controller,
+ pb::IMessage request,
+ global::System.Action<pb::IMessage> done) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.CallMethod() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ this.Foo(controller, (global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest) request,
+ pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse>(
+ done));
+ return;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetRequestPrototype() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.DefaultInstance;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetResponsePrototype() given method descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public static Stub CreateStub(pb::IRpcChannel channel) {
+ return new Stub(channel);
+ }
+
+ public class Stub : global::Google.ProtocolBuffers.TestProtos.TestGenericServiceWithCustomOptions {
+ internal Stub(pb::IRpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private readonly pb::IRpcChannel channel;
+
+ public pb::IRpcChannel Channel {
+ get { return channel; }
+ }
+
+ public override void Foo(
+ pb::IRpcController controller,
+ global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest request,
+ global::System.Action<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse> done) {
+ channel.CallMethod(Descriptor.Methods[0],
+ controller, request, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance,
+ pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance));
+ }
+ }
+ }
+ #endregion
+
+}
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
index bf77ccba..8d7c97a1 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestNoGenericServicesProtoFile.cs
@@ -293,90 +293,10 @@ namespace Google.ProtocolBuffers.TestProtos.NoGenericService {
#endregion
#region Services
- public abstract class TestService : pb::IService {
- public abstract void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage> done);
-
- public static pbd::ServiceDescriptor Descriptor {
- get { return UnitTestNoGenericServicesProtoFile.Descriptor.Services[0]; }
- }
- public pbd::ServiceDescriptor DescriptorForType {
- get { return Descriptor; }
- }
-
- public void CallMethod(
- pbd::MethodDescriptor method,
- pb::IRpcController controller,
- pb::IMessage request,
- global::System.Action<pb::IMessage> done) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.CallMethod() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- this.Foo(controller, (global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage) request,
- pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage>(
- done));
- return;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetRequestPrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetResponsePrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public static Stub CreateStub(pb::IRpcChannel channel) {
- return new Stub(channel);
- }
-
- public class Stub : global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestService {
- internal Stub(pb::IRpcChannel channel) {
- this.channel = channel;
- }
-
- private readonly pb::IRpcChannel channel;
-
- public pb::IRpcChannel Channel {
- get { return channel; }
- }
-
- public override void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage> done) {
- channel.CallMethod(Descriptor.Methods[0],
- controller, request, global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage.DefaultInstance,
- pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage, global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage.Builder>(done, global::Google.ProtocolBuffers.TestProtos.NoGenericService.TestMessage.DefaultInstance));
- }
- }
- }
+ /*
+ * Service generation is now disabled by default, use the following option to enable:
+ * option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;
+ */
#endregion
}
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
index 2d86a64b..a02255d5 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -18512,112 +18512,10 @@ namespace Google.ProtocolBuffers.TestProtos {
#endregion
#region Services
- public abstract class TestService : pb::IService {
- public abstract void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.FooRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.FooResponse> done);
- public abstract void Bar(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.BarRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.BarResponse> done);
-
- public static pbd::ServiceDescriptor Descriptor {
- get { return UnitTestProtoFile.Descriptor.Services[0]; }
- }
- public pbd::ServiceDescriptor DescriptorForType {
- get { return Descriptor; }
- }
-
- public void CallMethod(
- pbd::MethodDescriptor method,
- pb::IRpcController controller,
- pb::IMessage request,
- global::System.Action<pb::IMessage> done) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.CallMethod() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- this.Foo(controller, (global::Google.ProtocolBuffers.TestProtos.FooRequest) request,
- pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.FooResponse>(
- done));
- return;
- case 1:
- this.Bar(controller, (global::Google.ProtocolBuffers.TestProtos.BarRequest) request,
- pb::RpcUtil.SpecializeCallback<global::Google.ProtocolBuffers.TestProtos.BarResponse>(
- done));
- return;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetRequestPrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.FooRequest.DefaultInstance;
- case 1:
- return global::Google.ProtocolBuffers.TestProtos.BarRequest.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
- if (method.Service != Descriptor) {
- throw new global::System.ArgumentException(
- "Service.GetResponsePrototype() given method descriptor for wrong service type.");
- }
- switch(method.Index) {
- case 0:
- return global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance;
- case 1:
- return global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance;
- default:
- throw new global::System.InvalidOperationException("Can't get here.");
- }
- }
-
- public static Stub CreateStub(pb::IRpcChannel channel) {
- return new Stub(channel);
- }
-
- public class Stub : global::Google.ProtocolBuffers.TestProtos.TestService {
- internal Stub(pb::IRpcChannel channel) {
- this.channel = channel;
- }
-
- private readonly pb::IRpcChannel channel;
-
- public pb::IRpcChannel Channel {
- get { return channel; }
- }
-
- public override void Foo(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.FooRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.FooResponse> done) {
- channel.CallMethod(Descriptor.Methods[0],
- controller, request, global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance,
- pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.FooResponse, global::Google.ProtocolBuffers.TestProtos.FooResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.FooResponse.DefaultInstance));
- }
-
- public override void Bar(
- pb::IRpcController controller,
- global::Google.ProtocolBuffers.TestProtos.BarRequest request,
- global::System.Action<global::Google.ProtocolBuffers.TestProtos.BarResponse> done) {
- channel.CallMethod(Descriptor.Methods[1],
- controller, request, global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance,
- pb::RpcUtil.GeneralizeCallback<global::Google.ProtocolBuffers.TestProtos.BarResponse, global::Google.ProtocolBuffers.TestProtos.BarResponse.Builder>(done, global::Google.ProtocolBuffers.TestProtos.BarResponse.DefaultInstance));
- }
- }
- }
+ /*
+ * Service generation is now disabled by default, use the following option to enable:
+ * option (google.protobuf.csharp_file_options).service_generator_type = GENERIC;
+ */
#endregion
}