Service.h
Go to the documentation of this file.
1// **********************************************************************
2//
3// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
4//
5// This copy of Ice is licensed to you under the terms described in the
6// ICE_LICENSE file included in this distribution.
7//
8// **********************************************************************
9
10#ifndef ICESTORM_SERVICE_H
11#define ICESTORM_SERVICE_H
12
13#include <IceBox/IceBox.h>
14#include <IceStorm/IceStorm.h>
15
16//
17// Automatically link with IceStormService[D|++11|++11D].lib
18//
19
20#if !defined(ICE_BUILDING_ICE_STORM_SERVICE) && defined(ICESTORM_SERVICE_API_EXPORTS)
21#define ICE_BUILDING_ICE_STORM_SERVICE
22#endif
23
24#if defined(_MSC_VER) && !defined(ICE_BUILDING_ICE_STORM_SERVICE)
25#pragma comment(lib, ICE_LIBNAME("IceStormService"))
26#endif
27
28#ifndef ICESTORM_SERVICE_API
29#if defined(ICE_STATIC_LIBS)
30#define ICESTORM_SERVICE_API /**/
31#elif defined(ICESTORM_SERVICE_API_EXPORTS)
32#define ICESTORM_SERVICE_API ICE_DECLSPEC_EXPORT
33#else
34#define ICESTORM_SERVICE_API ICE_DECLSPEC_IMPORT
35#endif
36#endif
37
38// This API is internal to Ice, and should not be used by external
39// applications.
40namespace IceStormInternal
41{
42
43 class Service;
44 typedef ::IceInternal::Handle<IceStormInternal::Service> ServicePtr;
45
46 class Service : public ::IceBox::Service
47 {
48 public:
52 const std::string&,
53 const Ice::Identity&,
54 const std::string&);
55
56 virtual void
57 start(const std::string&, const Ice::CommunicatorPtr&, const Ice::StringSeq&) = 0;
58
60
61 virtual void stop() = 0;
62 };
63
64} // namespace IceStormInternal
65
66#endif
#define ICESTORM_SERVICE_API
Definition Service.h:34
virtual void stop()=0
static ICESTORM_SERVICE_API ServicePtr create(const Ice::CommunicatorPtr &, const Ice::ObjectAdapterPtr &, const Ice::ObjectAdapterPtr &, const std::string &, const Ice::Identity &, const std::string &)
Definition Service.cpp:95
virtual ICESTORM_SERVICE_API IceStorm::TopicManagerPrx getTopicManager() const =0
virtual void start(const std::string &, const Ice::CommunicatorPtr &, const Ice::StringSeq &)=0
::IceInternal::Handle< IceStormInternal::Service > ServicePtr
Definition Service.h:44
::IceInternal::ProxyHandle<::IceProxy::IceStorm::TopicManager > TopicManagerPrx
Definition IceManager.h:69
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr
Definition IceManager.h:49
::IceInternal::Handle<::Ice::ObjectAdapter > ObjectAdapterPtr
Definition IceManager.h:52