OpenRTM
1.0.0
|
00001 // -*- C++ -*- 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 }; // namespace RTC 00253 00254 #endif // RTC_SDOSERVICECONSUMERBASE_H