// ********************************************************************** // // Copyright (c) 2003-2016 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 Server { private class EchoI : Test.EchoDisp_ { public EchoI(BlobjectI blob) { _blob = blob; } public override void startBatch(Ice.Current current) { _blob.startBatch(); } public override void flushBatch(Ice.Current current) { _blob.flushBatch(); } public override void shutdown(Ice.Current current) { current.adapter.getCommunicator().shutdown(); } private BlobjectI _blob; } public static int run(string[] args, Ice.Communicator communicator) { communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); BlobjectI blob = new BlobjectI(); adapter.addDefaultServant(blob, ""); adapter.add(new EchoI(blob), communicator.stringToIdentity("__echo")); 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; } }