summaryrefslogtreecommitdiff
path: root/cpp/demo/IceStorm/counter/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/IceStorm/counter/Client.cpp')
-rw-r--r--cpp/demo/IceStorm/counter/Client.cpp121
1 files changed, 0 insertions, 121 deletions
diff --git a/cpp/demo/IceStorm/counter/Client.cpp b/cpp/demo/IceStorm/counter/Client.cpp
deleted file mode 100644
index 653ecf9d307..00000000000
--- a/cpp/demo/IceStorm/counter/Client.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2015 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.
-//
-// **********************************************************************
-
-#include <Ice/Ice.h>
-
-#include <CounterObserverI.h>
-
-using namespace std;
-using namespace Demo;
-
-class Client : public Ice::Application
-{
-public:
-
- virtual int run(int, char*[]);
-private:
-
- void menu(const MTPrinterPtr& printer);
-};
-
-int
-main(int argc, char* argv[])
-{
- Client app;
- return app.main(argc, argv, "config.client");
-}
-
-int
-Client::run(int argc, char*[])
-{
- if(argc > 1)
- {
- cerr << appName() << ": too many arguments" << endl;
- return EXIT_FAILURE;
- }
-
- Ice::PropertiesPtr properties = communicator()->getProperties();
-
- const string proxyProperty = "Counter.Proxy";
- string proxy = properties->getProperty(proxyProperty);
- if(proxy.empty())
- {
- cerr << appName() << ": property `" << proxyProperty << "' not set" << endl;
- return EXIT_FAILURE;
- }
-
- CounterPrx counter = CounterPrx::uncheckedCast(communicator()->stringToProxy(proxy));
- if(!counter)
- {
- cerr << appName() << ": invalid proxy" << endl;
- return EXIT_FAILURE;
- }
-
- MTPrinterPtr printer = new MTPrinter();
-
- Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapterWithEndpoints("Observer", "tcp");
- CounterObserverPrx observer =
- CounterObserverPrx::uncheckedCast(adapter->addWithUUID(new CounterObserverI(printer)));
- adapter->activate();
-
- counter->subscribe(observer);
-
- menu(printer);
-
- char c = 'x';
- do
- {
- try
- {
- printer->print("==> ");
- cin >> c;
- if(c == 'i')
- {
- counter->inc(1);
- }
- else if(c == 'd')
- {
- counter->inc(-1);
- }
- else if(c == 'x')
- {
- // Nothing to do
- }
- else if(c == '?')
- {
- menu(printer);
- }
- else
- {
- cout << "unknown command `" << c << "'" << endl;
- menu(printer);
- }
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- }
- }
- while(cin.good() && c != 'x');
-
- counter->unsubscribe(observer);
-
- return EXIT_SUCCESS;
-}
-
-void
-Client::menu(const MTPrinterPtr& printer)
-{
- printer->print(
- "usage:\n"
- "i: increment the counter\n"
- "d: decrement the counter\n"
- "x: exit\n"
- "?: help\n");
-}