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 <rtm/RTObject.h> 00026 #include <rtm/idl/SDOPackageStub.h> 00027 #include <coil/Timer.h> 00028 namespace RTC 00029 { 00030 00050 class SdoServiceConsumerBase 00051 { 00052 public: 00053 virtual bool init(RTObject_impl& rtobj, 00054 const SDOPackage::ServiceProfile& profile) = 0; 00055 virtual bool reinit(const SDOPackage::ServiceProfile& profile) = 0; 00056 virtual const SDOPackage::ServiceProfile& getProfile() const = 0; 00057 virtual void finalize() = 0; 00058 }; 00059 00060 typedef ::coil::GlobalFactory< 00061 ::RTC::SdoServiceConsumerBase > SdoServiceConsumerFactory; 00062 00063 }; // namespace RTC 00064 00065 #endif // RTC_SDOSERVICECONSUMERBASE_H