メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ

PublisherNew.h

説明を見る。
00001 // -*- C++ -*-
00020 /*
00021  * $Log: PublisherNew.h,v $
00022  * Revision 1.3  2007/04/26 15:32:45  n-ando
00023  * The header include order was modified to define _REENTRANT before
00024  * including ace/config-lite.h in Linux systems.
00025  * In ace 5.4.7 or later, _REENTRANT flag should be defined explicitly.
00026  *
00027  * Revision 1.2  2007/01/06 18:00:54  n-ando
00028  * Some trivial fixes.
00029  *
00030  * Revision 1.1  2006/11/27 09:44:49  n-ando
00031  * The first commitment.
00032  *
00033  */
00034 
00035 #ifndef PublisherNew_h
00036 #define PublisherNew_h
00037 
00038 #include <rtm/RTC.h>
00039 
00040 #include <ace/Task.h>
00041 #include <ace/Synch.h>
00042 #include <rtm/PublisherBase.h>
00043 
00044 namespace RTC
00045 {
00046   class InPortConsumer;
00047   class Properties;
00057   class PublisherNew
00058     : public PublisherBase,
00059       public ACE_Task<ACE_MT_SYNCH>
00060   {
00061   public:
00069     PublisherNew(InPortConsumer* consumer,
00070                  const Properties& property);
00071 
00079     virtual ~PublisherNew();
00080 
00088     virtual void update();
00089 
00103     virtual int svc(void);
00104 
00118     virtual int open(void *args);
00119 
00133     virtual void release();
00134 
00135   protected:
00136     
00137   private:
00138     InPortConsumer* m_consumer;
00139     bool m_running;
00140     unsigned long m_usec;
00141 
00142     // NewData condition struct
00143     struct NewData
00144     {
00145       NewData() : _cond(_mutex), _updated(false) {};
00146       ACE_Thread_Mutex _mutex;
00147       ACE_Condition<ACE_Thread_Mutex> _cond;
00148       bool _updated;
00149 
00150     };
00151     
00152     // A condition variable for data update notification 
00153     NewData m_data;
00154   };
00155  
00156 };     // namespace RTC
00157 #endif // PublisherNew_h
00158 

OpenRTMに対してFri Oct 5 05:14:57 2007に生成されました。  doxygen 1.4.1