PeriodicExecutionContext クラス
[詳細]
#include <PeriodicExecutionContext.h>
Public メソッド |
| PeriodicExecutionContext () |
| デフォルトコンストラクタ
|
| PeriodicExecutionContext (OpenRTM::DataFlowComponent_ptr owner, double rate=1000.0) |
| コンストラクタ
|
virtual | ~PeriodicExecutionContext (void) |
virtual ExecutionContextService_ptr | getObjRef (void) |
| CORBA オブジェクト参照の取得
|
virtual int | open (void *args) |
| ExecutionContext用アクティビティスレッドを生成する
|
virtual int | svc (void) |
| ExecutionContext 用のスレッド実行関数
|
virtual int | close (unsigned long flags) |
| ExecutionContext 用のスレッド実行関数
|
virtual CORBA::Boolean | is_running (void) throw (CORBA::SystemException) |
| ExecutionContext 実行状態確認関数
|
virtual ReturnCode_t | start (void) throw (CORBA::SystemException) |
| ExecutionContext の実行を開始
|
virtual ReturnCode_t | stop (void) throw (CORBA::SystemException) |
| ExecutionContext の実行を停止
|
virtual CORBA::Double | get_rate (void) throw (CORBA::SystemException) |
| ExecutionContext の実行周期(Hz)を取得する
|
virtual ReturnCode_t | set_rate (CORBA::Double rate) throw (CORBA::SystemException) |
| ExecutionContext の実行周期(Hz)を設定する
|
virtual ReturnCode_t | activate_component (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントをアクティブ化する
|
virtual ReturnCode_t | deactivate_component (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントを非アクティブ化する
|
virtual ReturnCode_t | reset_component (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントをリセットする
|
virtual LifeCycleState | get_component_state (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントの状態を取得する
|
virtual ExecutionKind | get_kind (void) throw (CORBA::SystemException) |
| ExecutionKind を取得する
|
virtual ReturnCode_t | add_component (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントを追加する
|
virtual RTC::ReturnCode_t | bindComponent (RTObject_impl *rtc) |
| コンポーネントをバインドする。
|
virtual ReturnCode_t | remove_component (LightweightRTObject_ptr comp) throw (CORBA::SystemException) |
| RTコンポーネントを参加者リストから削除する
|
virtual ExecutionContextProfile * | get_profile (void) throw (CORBA::SystemException) |
| ExecutionContextProfile を取得する
|
virtual | ~ExecutionContextBase (void) |
virtual void | tick () throw (CORBA::SystemException) |
| ExecutionContextの処理を進める
|
| Task () |
virtual | ~Task () |
virtual void | activate () |
virtual int | wait (void) |
virtual int | suspend (void) |
virtual int | resume (void) |
virtual void | reset () |
virtual void | finalize () |
Additional Inherited Members |
static void * | svc_run (void *args=0) |
| スレッド実行を開始する
|
説明
PeriodicExecutionContext クラス
Periodic Sampled Data Processing(周期実行用)ExecutionContextクラス。
- から
- 0.4.0
型定義
コンストラクタとデストラクタ
RTC::PeriodicExecutionContext::PeriodicExecutionContext |
( |
| ) |
|
デフォルトコンストラクタ
デフォルトコンストラクタ プロファイルに以下の項目を設定する。
- kind : PERIODIC
- rate : 0.0
RTC::PeriodicExecutionContext::PeriodicExecutionContext |
( |
OpenRTM::DataFlowComponent_ptr |
owner, |
|
|
double |
rate = 1000.0 |
|
) |
| |
コンストラクタ
コンストラクタ 設定された値をプロファイルに設定する。
- 引数
-
owner | 当該 Executioncontext の owner |
rate | 動作周期(Hz)(デフォルト値:1000) |
virtual RTC::PeriodicExecutionContext::~PeriodicExecutionContext |
( |
void |
| ) |
|
|
virtual |
関数
virtual ReturnCode_t RTC::PeriodicExecutionContext::activate_component |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントをアクティブ化する
Inactive 状態にあるRTコンポーネントをActive に遷移させ、アクティ ブ化する。この操作が呼ばれた結果、on_activate が呼び出される。指 定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Inactive 以外の場合は、PRECONDITION_NOT_MET が返される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual ReturnCode_t RTC::PeriodicExecutionContext::add_component |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントを追加する
指定したRTコンポーネントを参加者リストに追加する。追加されたRTコ ンポーネントは attach_context が呼ばれ、Inactive 状態に遷移する。 指定されたRTコンポーネントがnullの場合は、BAD_PARAMETER が返され る。指定されたRTコンポーネントが DataFlowComponent 以外の場合は、 BAD_PARAMETER が返される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual RTC::ReturnCode_t RTC::PeriodicExecutionContext::bindComponent |
( |
RTObject_impl * |
rtc | ) |
|
|
virtual |
virtual int RTC::PeriodicExecutionContext::close |
( |
unsigned long |
flags | ) |
|
|
virtual |
ExecutionContext 用のスレッド実行関数
ExecutionContext 用のスレッド終了時に呼ばれる。コンポーネントオ ブジェクトの非アクティブ化、マネージャへの通知を行う。これは coil::Task サービスクラスメソッドのオーバーライド。
- 引数
-
- 戻り値
- 終了処理結果
coil::Taskを再定義しています。
virtual ReturnCode_t RTC::PeriodicExecutionContext::deactivate_component |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントを非アクティブ化する
Inactive 状態にあるRTコンポーネントを非アクティブ化し、Inactive に遷移させる。この操作が呼ばれた結果、on_deactivate が呼び出され る。指定したRTコンポーネントが参加者リストに含まれない場合は、 BAD_PARAMETER が返される。指定したRTコンポーネントの状態が Active 以外の場合は、PRECONDITION_NOT_MET が返される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual LifeCycleState RTC::PeriodicExecutionContext::get_component_state |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントの状態を取得する
指定したRTコンポーネントの状態(LifeCycleState)を取得する。指定し たRTコンポーネントが参加者リストに含まれない場合は、 UNKNOWN_STATE が返される。
- 引数
-
- 戻り値
- 現在の状態(LifeCycleState)
virtual ExecutionKind RTC::PeriodicExecutionContext::get_kind |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionKind を取得する
本 ExecutionContext の ExecutionKind を取得する
- 戻り値
- ExecutionKind
virtual ExecutionContextProfile* RTC::PeriodicExecutionContext::get_profile |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContextProfile を取得する
本 ExecutionContext のプロファイルを取得する。
- 戻り値
- ExecutionContextProfile
virtual CORBA::Double RTC::PeriodicExecutionContext::get_rate |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContext の実行周期(Hz)を取得する
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得す る。
- 戻り値
- 処理周期(単位:Hz)
virtual ExecutionContextService_ptr RTC::PeriodicExecutionContext::getObjRef |
( |
void |
| ) |
|
|
inlinevirtual |
virtual CORBA::Boolean RTC::PeriodicExecutionContext::is_running |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContext 実行状態確認関数
この操作は ExecutionContext が Runnning 状態の場合に true を返す。 Executioncontext が Running の間、当該 Executioncontext に参加し ている全てのアクティブRTコンポーネントが、ExecutionContext の実 行種類に応じて実行される。
- 戻り値
- 状態確認関数(動作中:true、停止中:false)
virtual int RTC::PeriodicExecutionContext::open |
( |
void * |
args | ) |
|
|
virtual |
ExecutionContext用アクティビティスレッドを生成する
Executioncontext 用の内部アクティビティスレッドを生成し起動する。 これは coil::Task サービスクラスメソッドのオーバーライド。
- 引数
-
- 戻り値
- 生成処理実行結果
coil::Taskを再定義しています。
virtual ReturnCode_t RTC::PeriodicExecutionContext::remove_component |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントを参加者リストから削除する
指定したRTコンポーネントを参加者リストから削除する。削除された RTコンポーネントは detach_context が呼ばれる。指定されたRTコンポー ネントが参加者リストに登録されていない場合は、BAD_PARAMETER が返 される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual ReturnCode_t RTC::PeriodicExecutionContext::reset_component |
( |
LightweightRTObject_ptr |
comp | ) |
throw (CORBA::SystemException) |
|
virtual |
RTコンポーネントをリセットする
Error 状態のRTコンポーネントの復帰を試みる。この操作が呼ばれた結 果、on_reset が呼び出される。指定したRTコンポーネントが参加者リ ストに含まれない場合は、BAD_PARAMETER が返される。指定したRTコン ポーネントの状態が Error 以外の場合は、PRECONDITION_NOT_MET が返 される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual ReturnCode_t RTC::PeriodicExecutionContext::set_rate |
( |
CORBA::Double |
rate | ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContext の実行周期(Hz)を設定する
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を設定す る。実行周期の変更は、DataFlowComponentAction の on_rate_changed によって各RTコンポーネントに伝達される。
- 引数
-
- 戻り値
- ReturnCode_t 型のリターンコード
virtual ReturnCode_t RTC::PeriodicExecutionContext::start |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContext の実行を開始
ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。ExecutionContext の状態が遷移すると ComponentAction::on_startup が呼び出される。参加しているRTコンポー ネントが、初期化されるまで ExecutionContext を開始することはでき ない。ExecutionContext は複数回開始/停止を繰り返すことができる。
- 戻り値
- ReturnCode_t 型のリターンコード
virtual ReturnCode_t RTC::PeriodicExecutionContext::stop |
( |
void |
| ) |
throw (CORBA::SystemException) |
|
virtual |
ExecutionContext の実行を停止
ExecutionContext の状態を Stopped とするためのリクエストを発行す る。遷移が発生した場合は、ComponentAction::on_shutdown が呼び出 される。参加しているRTコンポーネントが終了する前に ExecutionContext を停止する必要がある。ExecutionContext は複数回 開始/停止を繰り返すことができる。
- 戻り値
- ReturnCode_t 型のリターンコード
virtual int RTC::PeriodicExecutionContext::svc |
( |
void |
| ) |
|
|
virtual |
変数
std::vector<Comp> RTC::PeriodicExecutionContext::m_comps |
|
protected |
bool RTC::PeriodicExecutionContext::m_nowait |
|
protected |
ExecutionContext 即時実行(wait無し実行)フラグ
ExecutionContextProfile RTC::PeriodicExecutionContext::m_profile |
|
protected |
coil::Mutex RTC::PeriodicExecutionContext::m_profileMutex |
|
protected |
ExecutionContextService_var RTC::PeriodicExecutionContext::m_ref |
|
protected |
bool RTC::PeriodicExecutionContext::m_running |
|
protected |
ExecutionContext の実行状態 true: running, false: stopped.
bool RTC::PeriodicExecutionContext::m_svc |
|
protected |
ExecutionContext のスレッド実行フラグ
Worker RTC::PeriodicExecutionContext::m_worker |
|
protected |
Logger RTC::PeriodicExecutionContext::rtclog |
|
protected |