summaryrefslogtreecommitdiff
path: root/cpp/demo/Glacier/session/Client.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2005-01-15 01:14:19 +0000
committerMichi Henning <michi@zeroc.com>2005-01-15 01:14:19 +0000
commit9e54a8065644aa3f1abb2019acf21da8f5040dd9 (patch)
treef22028c4112ea0ecc2ad1f599735ab02e78a55d9 /cpp/demo/Glacier/session/Client.cpp
parentOops, forgot to save all.dsw before I committed the change to remove (diff)
downloadice-9e54a8065644aa3f1abb2019acf21da8f5040dd9.tar.bz2
ice-9e54a8065644aa3f1abb2019acf21da8f5040dd9.tar.xz
ice-9e54a8065644aa3f1abb2019acf21da8f5040dd9.zip
Removed Glacier from source tree.
Diffstat (limited to 'cpp/demo/Glacier/session/Client.cpp')
-rw-r--r--cpp/demo/Glacier/session/Client.cpp281
1 files changed, 0 insertions, 281 deletions
diff --git a/cpp/demo/Glacier/session/Client.cpp b/cpp/demo/Glacier/session/Client.cpp
deleted file mode 100644
index a0184adea70..00000000000
--- a/cpp/demo/Glacier/session/Client.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2004 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 <Glacier/Glacier.h>
-#include <Glacier/Router.h>
-#include <IceSSL/Plugin.h>
-
-#include <HelloSession.h>
-
-using namespace std;
-using namespace Demo;
-
-void
-menu()
-{
- cout <<
- "usage:\n"
- "t: send greeting as twoway\n"
- "o: send greeting as oneway\n"
- "O: send greeting as batch oneway\n"
- "d: send greeting as datagram\n"
- "D: send greeting as batch datagram\n"
- "f: flush all batch requests\n"
- "T: set a timeout\n"
- "S: switch secure mode on/off\n"
- "x: exit\n"
- "?: help\n";
-}
-
-int
-run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator)
-{
- Ice::PropertiesPtr properties = communicator->getProperties();
- //
- // Do Glacier setup.
- //
- const char* glacierStarterEndpointsProperty = "Glacier.Starter.Endpoints";
- string glacierStarterEndpoints = properties->getProperty(glacierStarterEndpointsProperty);
- Ice::ObjectPrx starterBase = communicator->stringToProxy("Glacier/starter:" + glacierStarterEndpoints);
- Glacier::StarterPrx starter = Glacier::StarterPrx::checkedCast(starterBase);
- if(!starter)
- {
- cerr << argv[0] << ": endpoints `" << glacierStarterEndpoints
- << "' do not refer to a glacier router starter" << endl;
- return EXIT_FAILURE;
- }
-
- Ice::ByteSeq privateKey;
- Ice::ByteSeq publicKey;
- Ice::ByteSeq routerCert;
-
- Glacier::RouterPrx router;
- string id;
- string pw;
-
- while(true)
- {
- cout << "user id: " << flush;
- cin >> id;
- cout << "password: " << flush;
- cin >> pw;
-
- try
- {
- router = starter->startRouter(id, pw, privateKey, publicKey, routerCert);
- }
- catch(const Glacier::CannotStartRouterException& ex)
- {
- cerr << argv[0] << ": " << ex << ":\n" << ex.reason << endl;
- return EXIT_FAILURE;
- }
- catch(const Glacier::PermissionDeniedException&)
- {
- cout << "password is invalid, try again" << endl;
- continue;
- }
- break;
- }
-
- //
- // Required in order to activate the trust relationship with
- // the glacier router.
- //
-
- //
- // Get the SSL plugin.
- //
- Ice::PluginManagerPtr pluginManager = communicator->getPluginManager();
- Ice::PluginPtr plugin = pluginManager->getPlugin("IceSSL");
- IceSSL::PluginPtr sslPlugin = IceSSL::PluginPtr::dynamicCast(plugin);
- assert(sslPlugin);
-
- // Configure the client context of the IceSSL Plugin
- sslPlugin->configure(IceSSL::Client);
-
- // Trust only the router certificate, no other certificate.
- sslPlugin->addTrustedCertificate(IceSSL::Client, routerCert);
- sslPlugin->setCertificateVerifier(IceSSL::Client, sslPlugin->getSingleCertVerifier(routerCert));
-
- // Set the public and private keys that the Router will accept.
- sslPlugin->setRSAKeys(IceSSL::Client, privateKey, publicKey);
-
- communicator->setDefaultRouter(router);
-
- Glacier::SessionPrx session = router->createSession();
- HelloSessionPrx base = HelloSessionPrx::checkedCast(session);
-
- HelloSessionPrx twoway = HelloSessionPrx::checkedCast(base->ice_twoway()->ice_timeout(-1)->ice_secure(false));
- if(!twoway)
- {
- cerr << argv[0] << ": invalid object reference" << endl;
- return EXIT_FAILURE;
- }
- HelloSessionPrx oneway = HelloSessionPrx::uncheckedCast(twoway->ice_oneway());
- HelloSessionPrx batchOneway = HelloSessionPrx::uncheckedCast(twoway->ice_batchOneway());
- HelloSessionPrx datagram = HelloSessionPrx::uncheckedCast(twoway->ice_datagram());
- HelloSessionPrx batchDatagram = HelloSessionPrx::uncheckedCast(twoway->ice_batchDatagram());
-
- bool secure = false;
- int timeout = -1;
-
- menu();
-
- char c;
- do
- {
- try
- {
- cout << "==> ";
- cin >> c;
- if(c == 't')
- {
- twoway->hello();
- }
- else if(c == 'o')
- {
- oneway->hello();
- }
- else if(c == 'O')
- {
- batchOneway->hello();
- }
- else if(c == 'd')
- {
- if(secure)
- {
- cout << "secure datagrams are not supported" << endl;
- }
- else
- {
- datagram->hello();
- }
- }
- else if(c == 'D')
- {
- if(secure)
- {
- cout << "secure datagrams are not supported" << endl;
- }
- else
- {
- batchDatagram->hello();
- }
- }
- else if(c == 'f')
- {
- communicator->flushBatchRequests();
- }
- else if(c == 'T')
- {
- if(timeout == -1)
- {
- timeout = 2000;
- }
- else
- {
- timeout = -1;
- }
-
- twoway = HelloSessionPrx::uncheckedCast(twoway->ice_timeout(timeout));
- oneway = HelloSessionPrx::uncheckedCast(oneway->ice_timeout(timeout));
- batchOneway = HelloSessionPrx::uncheckedCast(batchOneway->ice_timeout(timeout));
-
- if(timeout == -1)
- {
- cout << "timeout is now switched off" << endl;
- }
- else
- {
- cout << "timeout is now set to 2000ms" << endl;
- }
- }
- else if(c == 'S')
- {
- secure = !secure;
-
- twoway = HelloSessionPrx::uncheckedCast(twoway->ice_secure(secure));
- oneway = HelloSessionPrx::uncheckedCast(oneway->ice_secure(secure));
- batchOneway = HelloSessionPrx::uncheckedCast(batchOneway->ice_secure(secure));
- datagram = HelloSessionPrx::uncheckedCast(datagram->ice_secure(secure));
- batchDatagram = HelloSessionPrx::uncheckedCast(batchDatagram->ice_secure(secure));
-
- if(secure)
- {
- cout << "secure mode is now on" << endl;
- }
- else
- {
- cout << "secure mode is now off" << endl;
- }
- }
- else if(c == 'x')
- {
- // Nothing to do
- }
- else if(c == '?')
- {
- menu();
- }
- else
- {
- cout << "unknown command `" << c << "'" << endl;
- menu();
- }
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- }
- }
- while(cin.good() && c != 'x');
-
- //
- // Shutdown the router.
- //
- router->shutdown();
-
- return EXIT_SUCCESS;
-}
-
-int
-main(int argc, char* argv[])
-{
- int status;
- Ice::CommunicatorPtr communicator;
-
- try
- {
- Ice::PropertiesPtr properties = Ice::createProperties();
- properties->load("config");
- communicator = Ice::initializeWithProperties(argc, argv, properties);
- status = run(argc, argv, communicator);
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
-
- if(communicator)
- {
- try
- {
- communicator->destroy();
- }
- catch(const Ice::Exception& ex)
- {
- cerr << ex << endl;
- status = EXIT_FAILURE;
- }
- }
-
- return status;
-}