00001
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef PublisherPeriodic_h
00031 #define PublisherPeriodic_h
00032
00033 #include <ace/Task.h>
00034 #include <ace/Synch.h>
00035 #include <rtm/PublisherBase.h>
00036
00037 namespace RTC
00038 {
00039 class InPortConsumer;
00040 class Properties;
00050 class PublisherPeriodic
00051 : public PublisherBase,
00052 public ACE_Task<ACE_MT_SYNCH>
00053 {
00054
00055
00056 public:
00064 PublisherPeriodic(InPortConsumer* consumer,
00065 const Properties& property);
00066
00075 virtual ~PublisherPeriodic();
00083 virtual void update();
00084
00098 virtual int svc(void);
00099
00113 virtual int open(void *args);
00114
00128 virtual void release();
00129
00130 protected:
00131
00132 private:
00133 InPortConsumer* m_consumer;
00134 bool m_running;
00135 unsigned int m_usec;
00136 };
00137
00138 };
00139 #endif // PublisherPeriodic_h
00140