diff options
Diffstat (limited to 'cpp/test/IceBox/configuration/Service.cpp')
-rw-r--r-- | cpp/test/IceBox/configuration/Service.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/cpp/test/IceBox/configuration/Service.cpp b/cpp/test/IceBox/configuration/Service.cpp new file mode 100644 index 00000000000..3f2e5bf3d12 --- /dev/null +++ b/cpp/test/IceBox/configuration/Service.cpp @@ -0,0 +1,70 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2007 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 <IceBox/IceBox.h> +#include <TestI.h> + +#ifndef TEST_SERVICE_API +# define TEST_SERVICE_API ICE_DECLSPEC_EXPORT +#endif + + +using namespace std; +using namespace Ice; + +class TEST_SERVICE_API ServiceI : public ::IceBox::Service +{ +public: + + ServiceI(); + virtual ~ServiceI(); + + virtual void start(const string&, + const CommunicatorPtr&, + const StringSeq&); + + virtual void stop(); +}; + +extern "C" +{ + +// +// Factory function +// +TEST_SERVICE_API ::IceBox::Service* +create(CommunicatorPtr communicator) +{ + return new ServiceI; +} + +} + +ServiceI::ServiceI() +{ +} + +ServiceI::~ServiceI() +{ +} + +void +ServiceI::start(const string& name, const CommunicatorPtr& communicator, const StringSeq& args) +{ + Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter(name + "OA"); + adapter->add(new TestI(args), communicator->stringToIdentity("test")); + adapter->activate(); +} + +void +ServiceI::stop() +{ +} + |