예제 #1
0
        public override int run(string[] args)
        {
            args = communicator().getProperties().parseCommandLineOptions("Discover", args);

            Ice.ObjectAdapter adapter = communicator().createObjectAdapter("DiscoverReply");
            DiscoverReplyI    replyI  = new DiscoverReplyI();
            DiscoverReplyPrx  reply   = DiscoverReplyPrxHelper.uncheckedCast(adapter.addWithUUID(replyI));

            adapter.activate();

            DiscoverPrx discover = DiscoverPrxHelper.uncheckedCast(
                communicator().propertyToProxy("Discover.Proxy").ice_datagram());

            discover.lookup(reply);
            Ice.ObjectPrx obj = replyI.waitReply(2000);


            if (obj == null)
            {
                System.Console.Error.WriteLine(appName() + ": no replies");
                return(1);
            }
            HelloPrx hello = HelloPrxHelper.checkedCast(obj);

            if (hello == null)
            {
                System.Console.Error.WriteLine(appName() + ": invalid reply");
                return(1);
            }

            hello.sayHello();
            return(0);
        }
예제 #2
0
 lookup(DiscoverReplyPrx reply, Ice.Current current)
 {
     try
     {
         reply.reply(_obj);
     }
     catch (Ice.LocalException)
     {
         // Ignore
     }
 }
예제 #3
0
 lookup(DiscoverReplyPrx reply, Ice.Current current, Ice.CancellationToken cancel)
 {
     try
     {
         reply.reply(_obj);
     }
     catch (Ice.LocalException)
     {
         // Ignore
     }
 }
예제 #4
0
 public override void lookup(DiscoverReplyPrx reply, Ice.Current current)
 {
     try
     {
         reply.reply(_obj);
     }
     catch(Ice.LocalException)
     {
         // Ignore
     }
 }