diff options
Diffstat (limited to 'java/demo/Ice/bidir/Client.java')
-rwxr-xr-x | java/demo/Ice/bidir/Client.java | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/java/demo/Ice/bidir/Client.java b/java/demo/Ice/bidir/Client.java index 060717e17e8..c54c24eba18 100755 --- a/java/demo/Ice/bidir/Client.java +++ b/java/demo/Ice/bidir/Client.java @@ -7,12 +7,46 @@ // // ********************************************************************** -public class Client +import Demo.*; + +public class Client extends Ice.Application { + public int + run(String[] args) + { + Ice.Properties properties = communicator().getProperties(); + final String proxyProperty = "Callback.Client.CallbackServer"; + String proxy = properties.getProperty(proxyProperty); + if(proxy.length() == 0) + { + System.err.println("property `" + proxyProperty + "' not set"); + return 1; + } + + CallbackSenderPrx server = CallbackSenderPrxHelper.checkedCast(communicator().stringToProxy(proxy)); + if(server == null) + { + System.err.println("invalid proxy"); + return 1; + } + + Ice.ObjectAdapter adapter = communicator().createObjectAdapter("Callback.Client"); + Ice.Identity ident = new Ice.Identity(); + ident.name = Ice.Util.generateUUID(); + ident.category = ""; + adapter.add(new CallbackReceiverI(), ident); + adapter.activate(); + server.ice_connection().setAdapter(adapter); + server.addClient(ident); + communicator().waitForShutdown(); + + return 0; + } + public static void main(String[] args) { - CallbackClient app = new CallbackClient(); + Client app = new Client(); int status = app.main("Client", args, "config"); System.exit(status); } |