クラス RTC_impl::ExecutionContextWorker

#include <ExecutionContextWorker.h>

すべてのメンバ一覧

Public メソッド

 ExecutionContextWorker ()
 デフォルトコンストラクタ
virtual ~ExecutionContextWorker (void)
void setECRef (RTC::ExecutionContextService_ptr ref)
RTC::ExecutionContextService_ptr getECRef ()
CORBA::Boolean isRunning (void)
 ExecutionContext 実行状態確認関数.
RTC::ReturnCode_t start (void)
 ExecutionContext の実行を開始.
RTC::ReturnCode_t stop (void)
 ExecutionContext の実行を停止.
RTC::ReturnCode_t activateComponent (RTC::LightweightRTObject_ptr comp, RTObjectStateMachine *&rtobj)
 RTコンポーネントをアクティブ化する.
RTC::ReturnCode_t waitActivateComplete (RTObjectStateMachine *&rtobj, coil::TimeValue timeout=1.0, long int cycle=1000)
RTC::ReturnCode_t deactivateComponent (RTC::LightweightRTObject_ptr comp, RTObjectStateMachine *&rtobj)
 RTコンポーネントを非アクティブ化する.
RTC::ReturnCode_t waitDeactivateComplete (RTObjectStateMachine *&rtobj, coil::TimeValue timeout=1.0, long int cycle=1000)
RTC::ReturnCode_t resetComponent (RTC::LightweightRTObject_ptr com, RTObjectStateMachine *&rtobj)
 RTコンポーネントをリセットする.
RTC::ReturnCode_t waitResetComplete (RTObjectStateMachine *&rtobj, coil::TimeValue timeout=1.0, long int cycle=1000)
RTC::LifeCycleState getComponentState (RTC::LightweightRTObject_ptr comp)
 RTコンポーネントの状態を取得する.
const char * getStateString (RTC::LifeCycleState state)
RTC::ReturnCode_t addComponent (RTC::LightweightRTObject_ptr comp)
 RTコンポーネントを追加する.
RTC::ReturnCode_t bindComponent (RTC::RTObject_impl *rtc)
 コンポーネントをバインドする。
RTC::ReturnCode_t removeComponent (RTC::LightweightRTObject_ptr comp)
 RTコンポーネントを参加者リストから削除する.
RTObjectStateMachinefindComponent (RTC::LightweightRTObject_ptr comp)
bool isAllCurrentState (RTC::LifeCycleState state)
bool isAllNextState (RTC::LifeCycleState state)
bool isOneOfCurrentState (RTC::LifeCycleState state)
bool isOneOfNextState (RTC::LifeCycleState state)
void invokeWorker ()
void invokeWorkerPreDo ()
void invokeWorkerDo ()
void invokeWorkerPostDo ()

Protected 型

typedef std::vector
< RTC_impl::RTObjectStateMachine * >
::iterator 
CompItr

Protected メソッド

void updateComponentList ()

Protected 変数

RTC::Logger rtclog
 コンポーネント検索用ファンクタ
RTC::ExecutionContextService_var m_ref
bool m_running
 ExecutionContext の実行状態 true: running, false: stopped.
std::vector
< RTC_impl::RTObjectStateMachine * > 
m_comps
 コンポーネントの参加者リスト
coil::Mutex m_mutex
std::vector
< RTC_impl::RTObjectStateMachine * > 
m_addedComps
coil::Mutex m_addedMutex
std::vector
< RTC_impl::RTObjectStateMachine * > 
m_removedComps
coil::Mutex m_removedMutex

型定義


コンストラクタとデストラクタ

RTC_impl::ExecutionContextWorker::ExecutionContextWorker (  ) 

デフォルトコンストラクタ

デフォルトコンストラクタ プロファイルに以下の項目を設定する。

  • kind : PERIODIC
  • rate : 0.0
virtual RTC_impl::ExecutionContextWorker::~ExecutionContextWorker ( void   )  [virtual]

デストラクタ


関数

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::activateComponent ( RTC::LightweightRTObject_ptr  comp,
RTObjectStateMachine *&  rtobj 
)

RTコンポーネントをアクティブ化する.

Inactive 状態にあるRTコンポーネントをActive に遷移させ、アクティ ブ化する。この操作が呼ばれた結果、on_activate が呼び出される。指 定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Inactive 以外の場合は、PRECONDITION_NOT_MET が返される。

引数:
comp アクティブ化対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::addComponent ( RTC::LightweightRTObject_ptr  comp  ) 

RTコンポーネントを追加する.

指定したRTコンポーネントを参加者リストに追加する。追加されたRTコ ンポーネントは attach_context が呼ばれ、Inactive 状態に遷移する。 指定されたRTコンポーネントがnullの場合は、BAD_PARAMETER が返され る。指定されたRTコンポーネントが DataFlowComponent 以外の場合は、 BAD_PARAMETER が返される。

引数:
comp 追加対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::bindComponent ( RTC::RTObject_impl rtc  ) 

コンポーネントをバインドする。

コンポーネントをバインドする。

引数:
rtc RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::deactivateComponent ( RTC::LightweightRTObject_ptr  comp,
RTObjectStateMachine *&  rtobj 
)

RTコンポーネントを非アクティブ化する.

Inactive 状態にあるRTコンポーネントを非アクティブ化し、Inactive に遷移させる。この操作が呼ばれた結果、on_deactivate が呼び出され る。指定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Active 以外の場合は、PRECONDITION_NOT_MET が返される。

引数:
comp 非アクティブ化対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
RTObjectStateMachine* RTC_impl::ExecutionContextWorker::findComponent ( RTC::LightweightRTObject_ptr  comp  ) 
RTC::LifeCycleState RTC_impl::ExecutionContextWorker::getComponentState ( RTC::LightweightRTObject_ptr  comp  ) 

RTコンポーネントの状態を取得する.

指定したRTコンポーネントの状態(LifeCycleState)を取得する。指定し たRTコンポーネントが参加者リストに含まれない場合は、 UNKNOWN_STATE が返される。

引数:
comp 状態取得対象RTコンポーネント
戻り値:
現在の状態(LifeCycleState)
RTC::ExecutionContextService_ptr RTC_impl::ExecutionContextWorker::getECRef (  ) 
const char* RTC_impl::ExecutionContextWorker::getStateString ( RTC::LifeCycleState  state  )  [inline]
void RTC_impl::ExecutionContextWorker::invokeWorker (  ) 
void RTC_impl::ExecutionContextWorker::invokeWorkerDo (  ) 
void RTC_impl::ExecutionContextWorker::invokeWorkerPostDo (  ) 
void RTC_impl::ExecutionContextWorker::invokeWorkerPreDo (  ) 
bool RTC_impl::ExecutionContextWorker::isAllCurrentState ( RTC::LifeCycleState  state  ) 
bool RTC_impl::ExecutionContextWorker::isAllNextState ( RTC::LifeCycleState  state  ) 
bool RTC_impl::ExecutionContextWorker::isOneOfCurrentState ( RTC::LifeCycleState  state  ) 
bool RTC_impl::ExecutionContextWorker::isOneOfNextState ( RTC::LifeCycleState  state  ) 
CORBA::Boolean RTC_impl::ExecutionContextWorker::isRunning ( void   ) 

ExecutionContext 実行状態確認関数.

この操作は ExecutionContext が Runnning 状態の場合に true を返す。 Executioncontext が Running の間、当該 Executioncontext に参加し ている全てのアクティブRTコンポーネントが、ExecutionContext の実 行種類に応じて実行される。

戻り値:
状態確認関数(動作中:true、停止中:false)
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::removeComponent ( RTC::LightweightRTObject_ptr  comp  ) 

RTコンポーネントを参加者リストから削除する.

指定したRTコンポーネントを参加者リストから削除する。削除された RTコンポーネントは detach_context が呼ばれる。指定されたRTコンポー ネントが参加者リストに登録されていない場合は、BAD_PARAMETER が返 される。

引数:
comp 削除対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::resetComponent ( RTC::LightweightRTObject_ptr  com,
RTObjectStateMachine *&  rtobj 
)

RTコンポーネントをリセットする.

Error 状態のRTコンポーネントの復帰を試みる。この操作が呼ばれた結 果、on_reset が呼び出される。指定したRTコンポーネントが参加者リ ストに含まれない場合は、BAD_PARAMETER が返される。指定したRTコン ポーネントの状態が Error 以外の場合は、PRECONDITION_NOT_MET が返 される。

引数:
comp リセット対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード
void RTC_impl::ExecutionContextWorker::setECRef ( RTC::ExecutionContextService_ptr  ref  ) 
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::start ( void   ) 

ExecutionContext の実行を開始.

ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。ExecutionContext の状態が遷移すると ComponentAction::on_startup が呼び出される。参加しているRTコンポー ネントが、初期化されるまで ExecutionContext を開始することはでき ない。ExecutionContext は複数回開始/停止を繰り返すことができる。

戻り値:
ReturnCode_t 型のリターンコード
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::stop ( void   ) 

ExecutionContext の実行を停止.

ExecutionContext の状態を Stopped とするためのリクエストを発行す る。遷移が発生した場合は、ComponentActionon_shutdown が呼び出 される。参加しているRTコンポーネントが終了する前に ExecutionContext を停止する必要がある。ExecutionContext は複数回 開始/停止を繰り返すことができる。

戻り値:
ReturnCode_t 型のリターンコード
void RTC_impl::ExecutionContextWorker::updateComponentList (  )  [protected]
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitActivateComplete ( RTObjectStateMachine *&  rtobj,
coil::TimeValue  timeout = 1.0,
long int  cycle = 1000 
)
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitDeactivateComplete ( RTObjectStateMachine *&  rtobj,
coil::TimeValue  timeout = 1.0,
long int  cycle = 1000 
)
RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitResetComplete ( RTObjectStateMachine *&  rtobj,
coil::TimeValue  timeout = 1.0,
long int  cycle = 1000 
)

変数

コンポーネントの参加者リスト

RTC::ExecutionContextService_var RTC_impl::ExecutionContextWorker::m_ref [protected]

ExecutionContext の実行状態 true: running, false: stopped.

コンポーネント検索用ファンクタ

ロガーストリーム

OpenRTMに対してSat Apr 19 14:45:34 2014に生成されました。  doxygen 1.6.3