summaryrefslogtreecommitdiff
path: root/csharp/test/Ice/binding/RemoteCommunicatorI.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/test/Ice/binding/RemoteCommunicatorI.cs')
-rw-r--r--csharp/test/Ice/binding/RemoteCommunicatorI.cs47
1 files changed, 47 insertions, 0 deletions
diff --git a/csharp/test/Ice/binding/RemoteCommunicatorI.cs b/csharp/test/Ice/binding/RemoteCommunicatorI.cs
new file mode 100644
index 00000000000..3d44378498b
--- /dev/null
+++ b/csharp/test/Ice/binding/RemoteCommunicatorI.cs
@@ -0,0 +1,47 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+using Test;
+
+public class RemoteCommunicatorI : RemoteCommunicatorDisp_
+{
+ public override RemoteObjectAdapterPrx
+ createObjectAdapter(string name, string endpts, Ice.Current current)
+ {
+ string endpoints = endpts;
+ if(endpoints.IndexOf("-p") < 0)
+ {
+ // Use a fixed port if none is specified (bug 2896)
+ endpoints += " -h \"" +
+ (current.adapter.getCommunicator().getProperties().getPropertyWithDefault(
+ "Ice.Default.Host", "127.0.0.1")) +
+ "\" -p " + _nextPort++;
+ }
+
+ Ice.Communicator com = current.adapter.getCommunicator();
+ com.getProperties().setProperty(name + ".ThreadPool.Size", "1");
+ Ice.ObjectAdapter adapter = com.createObjectAdapterWithEndpoints(name, endpoints);
+ return RemoteObjectAdapterPrxHelper.uncheckedCast(
+ current.adapter.addWithUUID(new RemoteObjectAdapterI(adapter)));
+ }
+
+ public override void
+ deactivateObjectAdapter(RemoteObjectAdapterPrx adapter, Ice.Current current)
+ {
+ adapter.deactivate(); // Collocated call.
+ }
+
+ public override void
+ shutdown(Ice.Current current)
+ {
+ current.adapter.getCommunicator().shutdown();
+ }
+
+ private int _nextPort = 10001;
+};