summaryrefslogtreecommitdiff
path: root/cs/demo/Ice/serialize/Client.cs
diff options
context:
space:
mode:
Diffstat (limited to 'cs/demo/Ice/serialize/Client.cs')
-rw-r--r--cs/demo/Ice/serialize/Client.cs123
1 files changed, 123 insertions, 0 deletions
diff --git a/cs/demo/Ice/serialize/Client.cs b/cs/demo/Ice/serialize/Client.cs
new file mode 100644
index 00000000000..cf47dcb90a2
--- /dev/null
+++ b/cs/demo/Ice/serialize/Client.cs
@@ -0,0 +1,123 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2008 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 Demo;
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceSerializeClient")]
+[assembly: AssemblyDescription("Ice serialize demo client")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
+
+public class Client
+{
+ public class App : Ice.Application
+ {
+ private static void menu()
+ {
+ Console.Write(
+ "usage:\n" +
+ "g: send greeting\n" +
+ "t: toggle null greeting\n" +
+ "s: shutdown server\n" +
+ "x: exit\n" +
+ "?: help\n");
+ }
+
+ public override int run(string[] args)
+ {
+ if(args.Length > 0)
+ {
+ Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
+
+ GreetPrx greet = GreetPrxHelper.checkedCast(communicator().propertyToProxy("Greet.Proxy"));
+ if(greet == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+
+ MyGreeting greeting = new MyGreeting();
+ greeting.text = "Hello there!";
+ MyGreeting nullGreeting = null;
+
+ bool sendNull = false;
+
+ menu();
+
+ string line = null;
+ do
+ {
+ try
+ {
+ Console.Out.Write("==> ");
+ Console.Out.Flush();
+ line = Console.In.ReadLine();
+ if(line == null)
+ {
+ break;
+ }
+ if(line.Equals("g"))
+ {
+ if(sendNull)
+ {
+ greet.sendGreeting(nullGreeting);
+ }
+ else
+ {
+ greet.sendGreeting(greeting);
+ }
+ }
+ else if(line.Equals("t"))
+ {
+ sendNull = !sendNull;
+ }
+ else if(line.Equals("s"))
+ {
+ greet.shutdown();
+ }
+ else if(line.Equals("x"))
+ {
+ // Nothing to do
+ }
+ else if(line.Equals("?"))
+ {
+ menu();
+ }
+ else
+ {
+ Console.WriteLine("unknown command `" + line + "'");
+ menu();
+ }
+ }
+ catch(System.Exception ex)
+ {
+ Console.Error.WriteLine(ex);
+ }
+ }
+ while (!line.Equals("x"));
+
+ return 0;
+ }
+ }
+
+ public static void Main(string[] args)
+ {
+ App app = new App();
+ int status = app.main(args, "config.client");
+ if(status != 0)
+ {
+ System.Environment.Exit(status);
+ }
+ }
+}