diff options
Diffstat (limited to 'csharp/test/Ice/invoke/Server.cs')
-rw-r--r-- | csharp/test/Ice/invoke/Server.cs | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/csharp/test/Ice/invoke/Server.cs b/csharp/test/Ice/invoke/Server.cs new file mode 100644 index 00000000000..791c1b9b766 --- /dev/null +++ b/csharp/test/Ice/invoke/Server.cs @@ -0,0 +1,110 @@ +// ********************************************************************** +// +// 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 System; +using System.Diagnostics; +using System.Reflection; + +[assembly: CLSCompliant(true)] + +[assembly: AssemblyTitle("IceTest")] +[assembly: AssemblyDescription("Ice test")] +[assembly: AssemblyCompany("ZeroC, Inc.")] + +public class ServantLocatorI : Ice.ServantLocator +{ + public ServantLocatorI(bool async) + { + if(async) + { + _blobject = new BlobjectAsyncI(); + } + else + { + _blobject = new BlobjectI(); + } + } + + public Ice.Object + locate(Ice.Current current, out System.Object cookie) + { + cookie = null; + return _blobject; + } + + public void + finished(Ice.Current current, Ice.Object servant, System.Object cookie) + { + } + + public void + deactivate(string category) + { + } + + private Ice.Object _blobject; +} + +public class Server +{ + public static int run(string[] args, Ice.Communicator communicator) + { + bool async = false; + for(int i = 0; i < args.Length; ++i) + { + if(args[i].Equals("--async")) + { + async = true; + } + } + + communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010:udp"); + Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); + adapter.addServantLocator(new ServantLocatorI(async), ""); + adapter.activate(); + + communicator.waitForShutdown(); + return 0; + } + + public static int Main(string[] args) + { + int status = 0; + Ice.Communicator communicator = null; + + try + { + Ice.InitializationData initData = new Ice.InitializationData(); + initData.properties = Ice.Util.createProperties(ref args); + communicator = Ice.Util.initialize(ref args, initData); + status = run(args, communicator); + } + catch(System.Exception ex) + { + Console.Error.WriteLine(ex); + status = 1; + } + + if(communicator != null) + { + try + { + communicator.destroy(); + } + catch(Ice.LocalException ex) + { + Console.Error.WriteLine(ex); + status = 1; + } + } + + return status; + } + +} |