00001 
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 }; 
00064 
00065 #endif // RTC_SDOSERVICECONSUMERBASE_H