// ********************************************************************** // // 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 #include #include using namespace std; class Server : public Ice::Application { public: virtual int run(int argc, char* argv[]); }; int Server::run(int argc, char* argv[]) { Ice::PropertiesPtr properties = communicator()->getProperties(); Ice::StringSeq args = Ice::argsToStringSeq(argc, argv); args = properties->parseCommandLineOptions("Test", args); Ice::stringSeqToArgs(args, argc, argv); string name = properties->getProperty("Ice.ProgramName"); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Server"); Ice::ObjectPtr object = new TestI(properties); adapter->add(object, communicator()->stringToIdentity(name)); shutdownOnInterrupt(); try { adapter->activate(); } catch(const Ice::ObjectAdapterDeactivatedException&) { } communicator()->waitForShutdown(); ignoreInterrupt(); return EXIT_SUCCESS; } int main(int argc, char* argv[]) { Server app; int rc = app.main(argc, argv); return rc; }