00001
00020 #ifndef RTC_SDOSERVICECONSUMERBASE_H
00021 #define RTC_SDOSERVICECONSUMERBASE_H
00022
00023 #include <coil/Mutex.h>
00024 #include <coil/Factory.h>
00025 #include <coil/Timer.h>
00026 #include <rtm/RTObject.h>
00027 #include <rtm/idl/SDOPackageStub.h>
00028
00029 namespace RTC
00030 {
00137 class SdoServiceConsumerBase
00138 {
00139 public:
00147 virtual ~SdoServiceConsumerBase() {};
00148
00173 virtual bool init(RTObject_impl& rtobj,
00174 const SDOPackage::ServiceProfile& profile) = 0;
00196 virtual bool reinit(const SDOPackage::ServiceProfile& profile) = 0;
00197
00213 virtual const SDOPackage::ServiceProfile& getProfile() const = 0;
00214
00228 virtual void finalize() = 0;
00229 };
00230
00238 typedef ::coil::GlobalFactory<
00239 ::RTC::SdoServiceConsumerBase > SdoServiceConsumerFactory;
00240
00241 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
00242
00249 EXTERN template class DLL_PLUGIN
00250 ::coil::GlobalFactory< ::RTC::SdoServiceConsumerBase >;
00251 #endif
00252 };
00253
00254 #endif // RTC_SDOSERVICECONSUMERBASE_H