1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
namespace Ice
{
namespace location
{
public class TestI : Test.TestIntfDisp_
{
internal TestI(Ice.ObjectAdapter adapter1,
Ice.ObjectAdapter adapter2, ServerLocatorRegistry registry)
{
_adapter1 = adapter1;
_adapter2 = adapter2;
_registry = registry;
_registry.addObject(_adapter1.add(new HelloI(), Ice.Util.stringToIdentity("hello")));
}
public override void shutdown(Ice.Current current)
{
_adapter1.getCommunicator().shutdown();
}
public override Test.HelloPrx getHello(Ice.Current current)
{
return Test.HelloPrxHelper.uncheckedCast(_adapter1.createIndirectProxy(
Ice.Util.stringToIdentity("hello")));
}
public override Test.HelloPrx getReplicatedHello(Ice.Current current)
{
return Test.HelloPrxHelper.uncheckedCast(_adapter1.createProxy(
Ice.Util.stringToIdentity("hello")));
}
public override void migrateHello(Ice.Current current)
{
Ice.Identity id = Ice.Util.stringToIdentity("hello");
try
{
_registry.addObject(_adapter2.add(_adapter1.remove(id), id));
}
catch(Ice.NotRegisteredException)
{
_registry.addObject(_adapter1.add(_adapter2.remove(id), id));
}
}
private Ice.ObjectAdapter _adapter1;
private Ice.ObjectAdapter _adapter2;
private ServerLocatorRegistry _registry;
}
}
}
|