diff options
Diffstat (limited to 'csharp/test/Ice/objects/Server.cs')
-rw-r--r-- | csharp/test/Ice/objects/Server.cs | 91 |
1 files changed, 23 insertions, 68 deletions
diff --git a/csharp/test/Ice/objects/Server.cs b/csharp/test/Ice/objects/Server.cs index 18047ddb7f4..26157bc146a 100644 --- a/csharp/test/Ice/objects/Server.cs +++ b/csharp/test/Ice/objects/Server.cs @@ -17,91 +17,46 @@ using System.Reflection; [assembly: AssemblyDescription("Ice test")] [assembly: AssemblyCompany("ZeroC, Inc.")] -public class Server +public class Server : TestCommon.Application { - private class MyObjectFactory : Ice.ObjectFactory + public static Ice.Value MyValueFactory(string type) { - public Ice.Object create(string type) + if(type.Equals("::Test::I")) { - if(type.Equals("::Test::I")) - { - return new II(); - } - else if(type.Equals("::Test::J")) - { - return new JI(); - } - else if(type.Equals("::Test::H")) - { - return new HI(); - } - Debug.Assert(false); // Should never be reached - return null; + return new II(); } - - public void - destroy() + else if(type.Equals("::Test::J")) + { + return new JI(); + } + else if(type.Equals("::Test::H")) { - // Nothing to do + return new HI(); } + Debug.Assert(false); // Should never be reached + return null; } - private static int run(string[] args, Ice.Communicator communicator) + public override int run(string[] args) { - Ice.ObjectFactory factory = new MyObjectFactory(); - communicator.addObjectFactory(factory, "::Test::I"); - communicator.addObjectFactory(factory, "::Test::J"); - communicator.addObjectFactory(factory, "::Test::H"); + communicator().getValueFactoryManager().add(MyValueFactory, "::Test::I"); + communicator().getValueFactoryManager().add(MyValueFactory, "::Test::J"); + communicator().getValueFactoryManager().add(MyValueFactory, "::Test::H"); - communicator.getProperties().setProperty("TestAdapter.Endpoints", "default -p 12010"); - Ice.ObjectAdapter adapter = communicator.createObjectAdapter("TestAdapter"); + communicator().getProperties().setProperty("TestAdapter.Endpoints", getTestEndpoint(0)); + Ice.ObjectAdapter adapter = communicator().createObjectAdapter("TestAdapter"); Ice.Object @object = new InitialI(adapter); - adapter.add(@object, communicator.stringToIdentity("initial")); + adapter.add(@object, Ice.Util.stringToIdentity("initial")); @object = new UnexpectedObjectExceptionTestI(); - adapter.add(@object, communicator.stringToIdentity("uoet")); + adapter.add(@object, Ice.Util.stringToIdentity("uoet")); adapter.activate(); - communicator.waitForShutdown(); + communicator().waitForShutdown(); return 0; } public static int Main(string[] args) { - int status = 0; - Ice.Communicator communicator = null; - - try - { - Ice.InitializationData data = new Ice.InitializationData(); -#if COMPACT - // - // When using Ice for .NET Compact Framework, we need to specify - // the assembly so that Ice can locate classes and exceptions. - // - data.properties = Ice.Util.createProperties(); - data.properties.setProperty("Ice.FactoryAssemblies", "server"); -#endif - communicator = Ice.Util.initialize(ref args, data); - status = run(args, communicator); - } - catch(System.Exception ex) - { - System.Console.Error.WriteLine(ex); - status = 1; - } - - if(communicator != null) - { - try - { - communicator.destroy(); - } - catch(Ice.LocalException ex) - { - System.Console.Error.WriteLine(ex); - status = 1; - } - } - - return status; + Server app = new Server(); + return app.runmain(args); } } |