クラス RTC::PeriodicExecutionContext

PeriodicExecutionContext クラス [詳細]

#include <PeriodicExecutionContext.h>

RTC::PeriodicExecutionContextに対する継承グラフ

RTC::ExecutionContextBase RTC::ExtTrigExecutionContext

すべてのメンバ一覧

Public メソッド

 PeriodicExecutionContext ()
 デフォルトコンストラクタ
 PeriodicExecutionContext (DataFlowComponent_ptr owner, double rate=1000.0)
 コンストラクタ
virtual ~PeriodicExecutionContext ()
 デストラクタ
ExecutionContextService_ptr getRef ()
 CORBA オブジェクト参照の取得
virtual int open (void *args)
 ExecutionContext用アクティビティスレッドを生成する
virtual int svc (void)
 ExecutionContext 用のスレッド実行関数
virtual int close (unsigned long flags)
 ExecutionContext 用のスレッド実行関数
virtual CORBA::Boolean is_running () throw (CORBA::SystemException)
 ExecutionContext 実行状態確認関数
virtual ReturnCode_t start () throw (CORBA::SystemException)
 ExecutionContext の実行を開始
virtual ReturnCode_t stop () throw (CORBA::SystemException)
 ExecutionContext の実行を停止
virtual CORBA::Double get_rate () 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 () throw (CORBA::SystemException)
 ExecutionKind を取得する
virtual ReturnCode_t add (LightweightRTObject_ptr comp) throw (CORBA::SystemException)
 RTコンポーネントを追加する
virtual ReturnCode_t remove (LightweightRTObject_ptr comp) throw (CORBA::SystemException)
 RTコンポーネントを参加者リストから削除する
virtual
ExecutionContextProfile * 
get_profile () throw (CORBA::SystemException)
 ExecutionContextProfile を取得する

Protected 型

typedef LifeCycleState ExecContextState
typedef
RTC_Utils::StateHolder
< ExecContextState
ECStates
typedef std::vector
< Comp >::iterator 
CompItr

Protected 変数

std::vector< Compm_comps
 コンポーネントの参加者リスト
bool m_state
 ExecutionContext の実行状態 true: running, false: stopped
bool m_running
 ExecutionContext のスレッド実行フラグ
ExecutionContextProfile m_profile
 ExecutionContextProfile
long int m_usec
 ExecutionContext の実行周期
ExecutionContextService_var m_ref
 ExecutionContextService オブジェクトへの参照
bool m_nowait
 ExecutionContext 即時実行(wait無し実行)フラグ

構成

struct  Comp
 コンポーネント管理用構造体 [詳細]
class  DFP
 DFP クラス [詳細]
class  DFPBase
 DFPBase クラス [詳細]
struct  find_comp
 コンポーネント検索用ファンクタ [詳細]
struct  invoke_on_rate_changed
 on_rate_changed 起動用ファンクタ [詳細]
struct  invoke_on_shutdown
 on_shutdown 起動用ファンクタ [詳細]
struct  invoke_on_startup
 on_startup 起動用ファンクタ [詳細]
struct  invoke_worker
 ワーカー実行用ファンクタ [詳細]


説明

PeriodicExecutionContext クラス

Periodic Sampled Data Processing(周期実行用)ExecutionContextクラス。

から:
0.4.0

型定義

typedef LifeCycleState RTC::PeriodicExecutionContext::ExecContextState [protected]

typedef RTC_Utils::StateHolder<ExecContextState> RTC::PeriodicExecutionContext::ECStates [protected]

typedef std::vector<Comp>::iterator RTC::PeriodicExecutionContext::CompItr [protected]


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

RTC::PeriodicExecutionContext::PeriodicExecutionContext (  ) 

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

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

RTC::PeriodicExecutionContext::PeriodicExecutionContext ( DataFlowComponent_ptr  owner,
double  rate = 1000.0 
)

コンストラクタ

コンストラクタ 設定された値をプロファイルに設定する。

引数:
owner 当該 Executioncontext の owner
rate 動作周期(Hz)(デフォルト値:1000)

virtual RTC::PeriodicExecutionContext::~PeriodicExecutionContext (  )  [virtual]

デストラクタ

デストラクタ


関数

ExecutionContextService_ptr RTC::PeriodicExecutionContext::getRef (  )  [inline]

CORBA オブジェクト参照の取得

本オブジェクトの ExecutioncontextService としての CORBA オブジェクト参照 を取得する。

戻り値:
CORBA オブジェクト参照

virtual int RTC::PeriodicExecutionContext::open ( void *  args  )  [virtual]

ExecutionContext用アクティビティスレッドを生成する

Executioncontext 用の内部アクティビティスレッドを生成し起動する。 これは ACE_Task サービスクラスメソッドのオーバーライド。

引数:
args 通常は0
戻り値:
生成処理実行結果

virtual int RTC::PeriodicExecutionContext::svc ( void   )  [virtual]

ExecutionContext 用のスレッド実行関数

ExecutionContext 用のスレッド実行関数。 登録されたコンポーネントの処理を呼び出す。

戻り値:
実行結果

RTC::ExtTrigExecutionContextで再定義されています。

virtual int RTC::PeriodicExecutionContext::close ( unsigned long  flags  )  [virtual]

ExecutionContext 用のスレッド実行関数

ExecutionContext 用のスレッド終了時に呼ばれる。 コンポーネントオブジェクトの非アクティブ化、マネージャへの通知を行う。 これは ACE_Task サービスクラスメソッドのオーバーライド。

引数:
flags 終了処理フラグ
戻り値:
終了処理結果

virtual CORBA::Boolean RTC::PeriodicExecutionContext::is_running (  )  throw (CORBA::SystemException) [virtual]

ExecutionContext 実行状態確認関数

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

戻り値:
状態確認関数(動作中:true、停止中:false)

RTC::ExecutionContextBaseを再定義しています。

virtual ReturnCode_t RTC::PeriodicExecutionContext::start (  )  throw (CORBA::SystemException) [virtual]

ExecutionContext の実行を開始

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

戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

virtual ReturnCode_t RTC::PeriodicExecutionContext::stop (  )  throw (CORBA::SystemException) [virtual]

ExecutionContext の実行を停止

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

戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

virtual CORBA::Double RTC::PeriodicExecutionContext::get_rate (  )  throw (CORBA::SystemException) [virtual]

ExecutionContext の実行周期(Hz)を取得する

Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得する。

戻り値:
処理周期(単位:Hz)

RTC::ExecutionContextBaseを再定義しています。

virtual ReturnCode_t RTC::PeriodicExecutionContext::set_rate ( CORBA::Double  rate  )  throw (CORBA::SystemException) [virtual]

ExecutionContext の実行周期(Hz)を設定する

Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を設定する。 実行周期の変更は、DataFlowComponentAction の on_rate_changed によって 各RTコンポーネントに伝達される。

引数:
rate 処理周期(単位:Hz)
戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

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 が返される。

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

RTC::ExecutionContextBaseを再定義しています。

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 が返される。

引数:
comp 非アクティブ化対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

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 が返される。

引数:
comp リセット対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

virtual LifeCycleState RTC::PeriodicExecutionContext::get_component_state ( LightweightRTObject_ptr  comp  )  throw (CORBA::SystemException) [virtual]

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

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

引数:
comp 状態取得対象RTコンポーネント
戻り値:
現在の状態(LifeCycleState)

RTC::ExecutionContextBaseを再定義しています。

virtual ExecutionKind RTC::PeriodicExecutionContext::get_kind (  )  throw (CORBA::SystemException) [virtual]

ExecutionKind を取得する

本 ExecutionContext の ExecutionKind を取得する

戻り値:
ExecutionKind

RTC::ExecutionContextBaseを再定義しています。

virtual ReturnCode_t RTC::PeriodicExecutionContext::add ( LightweightRTObject_ptr  comp  )  throw (CORBA::SystemException) [virtual]

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

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

引数:
comp 追加対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

virtual ReturnCode_t RTC::PeriodicExecutionContext::remove ( LightweightRTObject_ptr  comp  )  throw (CORBA::SystemException) [virtual]

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

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

引数:
comp 削除対象RTコンポーネント
戻り値:
ReturnCode_t 型のリターンコード

RTC::ExecutionContextBaseを再定義しています。

virtual ExecutionContextProfile* RTC::PeriodicExecutionContext::get_profile (  )  throw (CORBA::SystemException) [virtual]

ExecutionContextProfile を取得する

本 ExecutionContext のプロファイルを取得する。

戻り値:
ExecutionContextProfile

RTC::ExecutionContextBaseを再定義しています。


変数

std::vector<Comp> RTC::PeriodicExecutionContext::m_comps [protected]

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

bool RTC::PeriodicExecutionContext::m_state [protected]

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

bool RTC::PeriodicExecutionContext::m_running [protected]

ExecutionContext のスレッド実行フラグ

RTC::ExecutionContextBaseを再定義しています。

ExecutionContextProfile RTC::PeriodicExecutionContext::m_profile [protected]

ExecutionContextProfile

RTC::ExecutionContextBaseを再定義しています。

long int RTC::PeriodicExecutionContext::m_usec [protected]

ExecutionContext の実行周期

ExecutionContextService_var RTC::PeriodicExecutionContext::m_ref [protected]

ExecutionContextService オブジェクトへの参照

bool RTC::PeriodicExecutionContext::m_nowait [protected]

ExecutionContext 即時実行(wait無し実行)フラグ


OpenRTMに対してThu May 29 15:03:27 2008に生成されました。  doxygen 1.5.3