OpenRTM-aist  1.2.1
OpenHRPExecutionContext.h
[詳解]
1 // -*- C++ -*-
19 #ifndef RTC_OPENHRPEXECUTIONCONTEXT_H
20 #define RTC_OPENHRPEXECUTIONCONTEXT_H
21 
22 #include <coil/Mutex.h>
23 #include <coil/Guard.h>
24 #include <rtm/RTC.h>
26 
27 #ifdef WIN32
28 #pragma warning( disable : 4290 )
29 #endif
30 
31 namespace RTC
32 {
52  : public virtual POA_OpenRTM::ExtTrigExecutionContextService,
53  public virtual PortableServer::RefCountServantBase,
55  {
56  typedef coil::Mutex Mutex;
58  public:
67 
75  virtual ~OpenHRPExecutionContext(void);
76 
77 
78  //============================================================
79  // ExtTrigExecutionContextService
80  //============================================================
94  virtual void tick()
95  throw (CORBA::SystemException);
96 
97  //============================================================
98  // ExecutionContextService
99  //============================================================
124  virtual CORBA::Boolean is_running(void)
125  throw (CORBA::SystemException);
126 
154  virtual RTC::ReturnCode_t start(void)
155  throw (CORBA::SystemException);
156 
183  virtual RTC::ReturnCode_t stop(void)
184  throw (CORBA::SystemException);
185 
206  virtual CORBA::Double get_rate(void)
207  throw (CORBA::SystemException);
208 
238  virtual RTC::ReturnCode_t set_rate(CORBA::Double rate)
239  throw (CORBA::SystemException);
240 
274  virtual RTC::ReturnCode_t
276  throw (CORBA::SystemException);
277 
310  virtual RTC::ReturnCode_t
312  throw (CORBA::SystemException);
313 
345  virtual RTC::ReturnCode_t
347  throw (CORBA::SystemException);
348 
375  virtual RTC::LifeCycleState
377  throw (CORBA::SystemException);
378 
398  virtual RTC::ExecutionKind get_kind(void)
399  throw (CORBA::SystemException);
400 
432  virtual RTC::ReturnCode_t add_component(RTC::LightweightRTObject_ptr comp)
433  throw (CORBA::SystemException);
434 
465  virtual RTC::ReturnCode_t
467  throw (CORBA::SystemException);
468 
488  virtual RTC::ExecutionContextProfile* get_profile(void)
489  throw (CORBA::SystemException);
490  protected:
491  // template virtual functions adding/removing component
495  virtual RTC::ReturnCode_t
500  virtual RTC::ReturnCode_t
506  private:
514  RTC::Logger rtclog;
515 
519  unsigned int m_count;
520 
521  }; // class OpenHRPExecutionContext
522 }; // namespace RTC
523 
524 #ifdef WIN32
525 #pragma warning( default : 4290 )
526 #endif
527 
528 
529 extern "C"
530 {
539 };
540 
541 #endif // RTC_OPENHRPEXECUTIONCONTEXT_H
542 
virtual RTC::LifeCycleState get_component_state(RTC::LightweightRTObject_ptr comp)
RTコンポーネントの状態を取得する
RTコンポーネント
virtual RTC::ExecutionContextProfile * get_profile(void)
ExecutionContextProfile を取得する
Mutex クラス
Definition: Mutex.h:40
virtual RTC::ReturnCode_t add_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを追加する
ExecutionContext用基底クラス
Definition: ExecutionContextBase.h:369
Manager クラス
Definition: Manager.h:81
coil::Mutex m_tickmutex
Mutex to gurad tick() reenter.
Definition: OpenHRPExecutionContext.h:505
ExecutionContext base class.
virtual RTC::ReturnCode_t deactivate_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを非アクティブ化する
virtual RTC::ExecutionKind get_kind(void)
ExecutionKind を取得する
virtual RTC::ReturnCode_t remove_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを参加者リストから削除する
virtual void tick()
処理を1ステップ進める
virtual RTC::ReturnCode_t activate_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントをアクティブ化する
OpenHRPExecutionContext()
コンストラクタ
virtual RTC::ReturnCode_t stop(void)
ExecutionContext の実行を停止
OpenHRPExecutionContext クラス
Definition: OpenHRPExecutionContext.h:51
virtual RTC::ReturnCode_t set_rate(CORBA::Double rate)
ExecutionContext の実行周期(Hz)を設定する
Guard template class.
DLL_EXPORT void OpenHRPExecutionContextInit(RTC::Manager *manager)
ECFactoryへの登録のための初期化関数
Logger クラス
Definition: SystemLogger.h:99
virtual RTC::ReturnCode_t reset_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントをリセットする
RTC::LightweightRTObject_ptr LightweightRTObject_ptr
Definition: ExecutionContextWorker.h:43
virtual ~OpenHRPExecutionContext(void)
デストラクタ
RTComponent header.
virtual RTC::ReturnCode_t onAddedComponent(RTC::LightweightRTObject_ptr rtobj)
onAddedComponent() template function
virtual RTC::ReturnCode_t start(void)
ExecutionContext の実行を開始
virtual RTC::ReturnCode_t onRemovedComponent(RTC::LightweightRTObject_ptr rtobj)
onRemovedComponent() template function
#define DLL_EXPORT
Definition: RTC.h:73
virtual CORBA::Boolean is_running(void)
ExecutionContext 実行状態確認関数
virtual CORBA::Double get_rate(void)
ExecutionContext の実行周期(Hz)を取得する