diff options
Diffstat (limited to 'cpp/demo/manual/printer/Server.cpp')
-rw-r--r-- | cpp/demo/manual/printer/Server.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/cpp/demo/manual/printer/Server.cpp b/cpp/demo/manual/printer/Server.cpp new file mode 100644 index 00000000000..7be98614e1b --- /dev/null +++ b/cpp/demo/manual/printer/Server.cpp @@ -0,0 +1,68 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2014 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 <Printer.h> + +using namespace std; +using namespace Demo; + +class PrinterI : public Printer +{ +public: + + virtual void printString(const string &, const Ice::Current&); +}; + +void +PrinterI:: +printString(const string &s, const Ice::Current&) +{ + cout << s << endl; +} + +int +main(int argc, char* argv[]) +{ + int status = 0; + Ice::CommunicatorPtr ic; + try + { + ic = Ice::initialize(argc, argv); + Ice::ObjectAdapterPtr adapter = + ic->createObjectAdapterWithEndpoints("SimplePrinterAdapter", "default -h localhost -p 10000"); + Ice::ObjectPtr object = new PrinterI; + adapter->add(object, ic->stringToIdentity("SimplePrinter")); + adapter->activate(); + ic->waitForShutdown(); + } + catch(const Ice::Exception& e) + { + cerr << e << endl; + status = 1; + } + catch(const char* msg) + { + cerr << msg << endl; + status = 1; + } + if(ic) + { + try + { + ic->destroy(); + } + catch(const Ice::Exception& e) + { + cerr << e << endl; + status = 1; + } + } + return status; +} |