summaryrefslogtreecommitdiff
path: root/cs/demo/Ice/async/Client.cs
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2007-01-17 18:11:11 +0000
committerDwayne Boone <dwayne@zeroc.com>2007-01-17 18:11:11 +0000
commite124e693704faa56ecf32ce2a243d0c3fa3a5e6e (patch)
tree071dcaa6edc458f9371289976a4537880e5bb005 /cs/demo/Ice/async/Client.cs
parentChanged async demo (diff)
downloadice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.tar.bz2
ice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.tar.xz
ice-e124e693704faa56ecf32ce2a243d0c3fa3a5e6e.zip
Changed demo
Diffstat (limited to 'cs/demo/Ice/async/Client.cs')
-rw-r--r--cs/demo/Ice/async/Client.cs113
1 files changed, 113 insertions, 0 deletions
diff --git a/cs/demo/Ice/async/Client.cs b/cs/demo/Ice/async/Client.cs
new file mode 100644
index 00000000000..b22b2c98113
--- /dev/null
+++ b/cs/demo/Ice/async/Client.cs
@@ -0,0 +1,113 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+using System;
+using Demo;
+
+public class Client : Ice.Application
+{
+ public class AMI_Hello_sayHelloI : AMI_Hello_sayHello
+ {
+ public override void ice_response()
+ {
+ }
+
+ public override void ice_exception(Ice.Exception ex)
+ {
+ if(ex is RequestCanceledException)
+ {
+ Console.Error.WriteLine("Request canceled");
+ }
+ else
+ {
+ Console.Error.WriteLine(ex);
+ }
+ }
+ }
+
+ private static void menu()
+ {
+ Console.Out.WriteLine(
+ "usage:\n" +
+ "i: send immediate greeting\n" +
+ "d: send delayed greeting\n" +
+ "s: shutdown server\n" +
+ "x: exit\n" +
+ "?: help\n");
+ }
+
+ public override int run(string[] args)
+ {
+ HelloPrx hello = HelloPrxHelper.checkedCast(communicator().propertyToProxy("Hello.Proxy"));
+ if(hello == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+
+ menu();
+
+ string line = null;
+ do
+ {
+ try
+ {
+ Console.Out.Write("==> ");
+ Console.Out.Flush();
+ line = Console.In.ReadLine();
+ if(line == null)
+ {
+ break;
+ }
+ if(line.Equals("i"))
+ {
+ hello.sayHello(0);
+ }
+ else if(line.Equals("d"))
+ {
+ hello.sayHello_async(new AMI_Hello_sayHelloI(), 5000);
+ }
+ else if(line.Equals("s"))
+ {
+ hello.shutdown();
+ }
+ else if(line.Equals("x"))
+ {
+ // Nothing to do
+ }
+ else if(line.Equals("?"))
+ {
+ menu();
+ }
+ else
+ {
+ Console.Out.WriteLine("unknown command `" + line + "'");
+ menu();
+ }
+ }
+ catch(Ice.Exception ex)
+ {
+ Console.Error.WriteLine(ex);
+ }
+ }
+ while(!line.Equals("x"));
+
+ return 0;
+ }
+
+ public static void Main(string[] args)
+ {
+ Client app = new Client();
+ int status = app.main(args, "config.client");
+ if(status != 0)
+ {
+ System.Environment.Exit(status);
+ }
+ }
+}