OpenRTM-aist 2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 静的公開メンバ関数 | 限定公開型 | 限定公開変数類 | 全メンバ一覧
RTC_impl::ExecutionContextWorker クラス

ExecutionContextWorker クラス [詳解]

#include <ExecutionContextWorker.h>

RTC_impl::ExecutionContextWorker 連携図
Collaboration graph
[凡例]

公開メンバ関数

 ExecutionContextWorker ()
 デフォルトコンストラクタ
 
virtual ~ExecutionContextWorker ()
 デストラクタ
 
void setECRef (RTC::ExecutionContextService_ptr ref)
 
RTC::ExecutionContextService_ptr getECRef ()
 
CORBA::Boolean isRunning ()
 ExecutionContext 実行状態確認関数
 
RTC::ReturnCode_t start ()
 ExecutionContext の実行を開始
 
RTC::ReturnCode_t stop ()
 ExecutionContext の実行を停止
 
RTC::ReturnCode_t startThread ()
 
RTC::ReturnCode_t stopThread ()
 
RTC::ReturnCode_t rateChanged ()
 ExecutionContext の実行周期が変更された
 
RTC::ReturnCode_t activateComponent (RTC::LightweightRTObject_ptr comp, RTObjectStateMachine *&rtobj)
 RTコンポーネントをアクティブ化する
 
RTC::ReturnCode_t waitActivateComplete (RTObjectStateMachine *&rtobj, std::chrono::nanoseconds timeout=std::chrono::seconds(1), long int cycle=1000)
 
RTC::ReturnCode_t deactivateComponent (RTC::LightweightRTObject_ptr comp, RTObjectStateMachine *&rtobj)
 RTコンポーネントを非アクティブ化する
 
RTC::ReturnCode_t waitDeactivateComplete (RTObjectStateMachine *&rtobj, std::chrono::nanoseconds timeout=std::chrono::seconds(1), long int cycle=1000)
 
RTC::ReturnCode_t resetComponent (RTC::LightweightRTObject_ptr comp, RTObjectStateMachine *&rtobj)
 RTコンポーネントをリセットする
 
RTC::ReturnCode_t waitResetComplete (RTObjectStateMachine *&rtobj, std::chrono::nanoseconds timeout=std::chrono::seconds(1), long int cycle=1000)
 
RTC::LifeCycleState getComponentState (RTC::LightweightRTObject_ptr comp)
 RTコンポーネントの状態を取得する
 
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 ()
 
void updateComponentList ()
 コンポーネントリストの更新
 

静的公開メンバ関数

static const char * getStateString (RTC::LifeCycleState state)
 

限定公開型

using CompItr = std::vector< RTC_impl::RTObjectStateMachine * >::iterator
 

限定公開変数類

RTC::Logger rtclog {"ec_worker"}
 ロガーストリーム
 
RTC::ExecutionContextService_var m_ref
 
bool m_running {false}
 ExecutionContext の実行状態 true: running, false: stopped
 
std::vector< RTC_impl::RTObjectStateMachine * > m_comps
 コンポーネントの参加者リスト
 
std::mutex m_mutex
 
std::vector< RTC_impl::RTObjectStateMachine * > m_addedComps
 
std::mutex m_addedMutex
 
std::vector< RTC_impl::RTObjectStateMachine * > m_removedComps
 
std::mutex m_removedMutex
 

詳解

ExecutionContextWorker クラス

RTCの状態マシン・プロキシクラス RTObjectStateMachine を保持・管理 し、コールバックを実際にコールするためのワーカークラスインターフェー スクラス。ECの実装者は、ExecutionContextBase を継承し、メンバ変数 として保持されているこの ExecutionContextWorker クラスのインター フェース経由でRTObjectのコールバックをコールすることになる。

から
1.2

型定義メンバ詳解

◆ CompItr

構築子と解体子

◆ ExecutionContextWorker()

RTC_impl::ExecutionContextWorker::ExecutionContextWorker ( )

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

◆ ~ExecutionContextWorker()

virtual RTC_impl::ExecutionContextWorker::~ExecutionContextWorker ( )
virtual

デストラクタ

関数詳解

◆ activateComponent()

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

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

◆ addComponent()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::addComponent ( RTC::LightweightRTObject_ptr  comp)

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

◆ bindComponent()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::bindComponent ( RTC::RTObject_impl rtc)

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

◆ deactivateComponent()

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

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

◆ findComponent()

RTObjectStateMachine * RTC_impl::ExecutionContextWorker::findComponent ( RTC::LightweightRTObject_ptr  comp)

◆ getComponentState()

RTC::LifeCycleState RTC_impl::ExecutionContextWorker::getComponentState ( RTC::LightweightRTObject_ptr  comp)

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

◆ getECRef()

RTC::ExecutionContextService_ptr RTC_impl::ExecutionContextWorker::getECRef ( )

◆ getStateString()

static const char * RTC_impl::ExecutionContextWorker::getStateString ( RTC::LifeCycleState  state)
inlinestatic

◆ invokeWorker()

void RTC_impl::ExecutionContextWorker::invokeWorker ( )

◆ invokeWorkerDo()

void RTC_impl::ExecutionContextWorker::invokeWorkerDo ( )

◆ invokeWorkerPostDo()

void RTC_impl::ExecutionContextWorker::invokeWorkerPostDo ( )

◆ invokeWorkerPreDo()

void RTC_impl::ExecutionContextWorker::invokeWorkerPreDo ( )

◆ isAllCurrentState()

bool RTC_impl::ExecutionContextWorker::isAllCurrentState ( RTC::LifeCycleState  state)

◆ isAllNextState()

bool RTC_impl::ExecutionContextWorker::isAllNextState ( RTC::LifeCycleState  state)

◆ isOneOfCurrentState()

bool RTC_impl::ExecutionContextWorker::isOneOfCurrentState ( RTC::LifeCycleState  state)

◆ isOneOfNextState()

bool RTC_impl::ExecutionContextWorker::isOneOfNextState ( RTC::LifeCycleState  state)

◆ isRunning()

CORBA::Boolean RTC_impl::ExecutionContextWorker::isRunning ( )

ExecutionContext 実行状態確認関数

◆ rateChanged()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::rateChanged ( )

ExecutionContext の実行周期が変更された

◆ removeComponent()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::removeComponent ( RTC::LightweightRTObject_ptr  comp)

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

◆ resetComponent()

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

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

◆ setECRef()

void RTC_impl::ExecutionContextWorker::setECRef ( RTC::ExecutionContextService_ptr  ref)

◆ start()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::start ( )

ExecutionContext の実行を開始

◆ startThread()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::startThread ( )

◆ stop()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::stop ( )

ExecutionContext の実行を停止

◆ stopThread()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::stopThread ( )

◆ updateComponentList()

void RTC_impl::ExecutionContextWorker::updateComponentList ( )

コンポーネントリストの更新

◆ waitActivateComplete()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitActivateComplete ( RTObjectStateMachine *&  rtobj,
std::chrono::nanoseconds  timeout = std::chrono::seconds(1),
long int  cycle = 1000 
)

◆ waitDeactivateComplete()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitDeactivateComplete ( RTObjectStateMachine *&  rtobj,
std::chrono::nanoseconds  timeout = std::chrono::seconds(1),
long int  cycle = 1000 
)

◆ waitResetComplete()

RTC::ReturnCode_t RTC_impl::ExecutionContextWorker::waitResetComplete ( RTObjectStateMachine *&  rtobj,
std::chrono::nanoseconds  timeout = std::chrono::seconds(1),
long int  cycle = 1000 
)

メンバ詳解

◆ m_addedComps

std::vector<RTC_impl::RTObjectStateMachine*> RTC_impl::ExecutionContextWorker::m_addedComps
protected

◆ m_addedMutex

std::mutex RTC_impl::ExecutionContextWorker::m_addedMutex
mutableprotected

◆ m_comps

std::vector<RTC_impl::RTObjectStateMachine*> RTC_impl::ExecutionContextWorker::m_comps
protected

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

◆ m_mutex

std::mutex RTC_impl::ExecutionContextWorker::m_mutex
mutableprotected

◆ m_ref

RTC::ExecutionContextService_var RTC_impl::ExecutionContextWorker::m_ref
protected

◆ m_removedComps

std::vector<RTC_impl::RTObjectStateMachine*> RTC_impl::ExecutionContextWorker::m_removedComps
protected

◆ m_removedMutex

std::mutex RTC_impl::ExecutionContextWorker::m_removedMutex
mutableprotected

◆ m_running

bool RTC_impl::ExecutionContextWorker::m_running {false}
protected

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

◆ rtclog

RTC::Logger RTC_impl::ExecutionContextWorker::rtclog {"ec_worker"}
protected

ロガーストリーム


このクラス詳解は次のファイルから抽出されました: