summaryrefslogtreecommitdiff
path: root/java/demo/Ice/bidir/Client.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/demo/Ice/bidir/Client.java')
-rwxr-xr-xjava/demo/Ice/bidir/Client.java38
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);
}