diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IceStorm/Service.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h new file mode 100644 index 00000000000..3f9a846fa97 --- /dev/null +++ b/cpp/src/IceStorm/Service.h @@ -0,0 +1,52 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2008 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. +// +// ********************************************************************** + +#ifndef ICESTORM_SERVICE_H +#define ICESTORM_SERVICE_H + +#include <IceBox/IceBox.h> +#include <IceStorm/IceStorm.h> + +#ifndef ICE_STORM_API +# ifdef ICE_STORM_API_EXPORTS +# define ICE_STORM_API ICE_DECLSPEC_EXPORT +# else +# define ICE_STORM_API ICE_DECLSPEC_IMPORT +# endif +#endif + +// This API is internal to Ice, and should not be used by external +// applications. +namespace IceStormInternal +{ + +class Service; +typedef ::IceInternal::Handle< IceStormInternal::Service> ServicePtr; + +class ICE_STORM_API Service : public ::IceBox::Service +{ +public: + + static ServicePtr create(const Ice::CommunicatorPtr&, + const Ice::ObjectAdapterPtr&, + const Ice::ObjectAdapterPtr&, + const std::string&, + const Ice::Identity&, + const std::string&); + + virtual void start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&) = 0; + + virtual IceStorm::TopicManagerPrx getTopicManager() const = 0; + + virtual void stop() = 0; +}; + +}; + +#endif |