diff options
Diffstat (limited to 'cpp/src/IceStorm/Service.h')
-rw-r--r-- | cpp/src/IceStorm/Service.h | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/cpp/src/IceStorm/Service.h b/cpp/src/IceStorm/Service.h index b9866e56beb..a48329f9c6f 100644 --- a/cpp/src/IceStorm/Service.h +++ b/cpp/src/IceStorm/Service.h @@ -13,10 +13,30 @@ #include <IceBox/IceBox.h> #include <IceStorm/IceStorm.h> -#ifndef ICE_STORM_API -# define ICE_STORM_API ICE_DECLSPEC_IMPORT +#ifdef _MSC_VER +// +// Automatically link with IceStormService[D].lib +// +# if defined(ICE_STATIC_LIBS) +# pragma comment(lib, "IceStormService.lib") +# elif !defined(ICE_STORM_SERVICE_API_EXPORTS) +# if defined(_DEBUG) +# pragma comment(lib, "IceStormServiceD.lib") +# else +# pragma comment(lib, "IceStormService.lib") +# endif +# endif #endif +#ifndef ICE_STORM_SERVICE_API +# ifdef ICE_STORM_SERVICE_API_EXPORTS +# define ICE_STORM_SERVICE_API ICE_DECLSPEC_EXPORT +# else +# define ICE_STORM_SERVICE_API ICE_DECLSPEC_IMPORT +# endif +#endif + + // This API is internal to Ice, and should not be used by external // applications. namespace IceStormInternal @@ -29,16 +49,16 @@ class Service : public ::IceBox::Service { public: - ICE_STORM_API static ServicePtr create(const Ice::CommunicatorPtr&, - const Ice::ObjectAdapterPtr&, - const Ice::ObjectAdapterPtr&, - const std::string&, - const Ice::Identity&, - const std::string&); + ICE_STORM_SERVICE_API 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; - ICE_STORM_API virtual IceStorm::TopicManagerPrx getTopicManager() const = 0; + ICE_STORM_SERVICE_API virtual IceStorm::TopicManagerPrx getTopicManager() const = 0; virtual void stop() = 0; }; |