17#ifndef RTC_VXWORKSINTERRUPTEXECUTIONCONTEXT_H
18#define RTC_VXWORKSINTERRUPTEXECUTIONCONTEXT_H
22#include <coil/Mutex.h>
23#include <coil/Condition.h>
53 :
public virtual POA_RTC::ExecutionContextService,
54 public virtual PortableServer::RefCountServantBase,
58 typedef coil::Mutex Mutex;
59 typedef coil::Condition<Mutex> Condition;
104 virtual void init(coil::Properties& props);
158 virtual int close(
unsigned long flags);
224 throw (CORBA::SystemException);
253 virtual RTC::ReturnCode_t
start(
void)
254 throw (CORBA::SystemException);
282 virtual RTC::ReturnCode_t
stop(
void)
283 throw (CORBA::SystemException);
306 throw (CORBA::SystemException);
337 virtual RTC::ReturnCode_t
set_rate(CORBA::Double rate)
338 throw (CORBA::SystemException);
373 virtual RTC::ReturnCode_t
375 throw (CORBA::SystemException);
409 virtual RTC::ReturnCode_t
411 throw (CORBA::SystemException);
444 virtual RTC::ReturnCode_t
446 throw (CORBA::SystemException);
474 virtual RTC::LifeCycleState
476 throw (CORBA::SystemException);
498 throw (CORBA::SystemException);
532 throw (CORBA::SystemException);
564 virtual RTC::ReturnCode_t
566 throw (CORBA::SystemException);
588 throw (CORBA::SystemException);
592 void getProperty(coil::Properties& prop,
const char* key, T& value)
594 if (prop.findNode(key) != 0)
597 if (coil::stringTo(tmp, prop[key].c_str()))
611 virtual RTC::ReturnCode_t
616 virtual RTC::ReturnCode_t
621 virtual RTC::ReturnCode_t
626 virtual RTC::ReturnCode_t
631 virtual RTC::ReturnCode_t
637 std::lock_guard<coil::Mutex> guard(m_svcmutex);
658 STATUS setInterrupt(coil::Properties& props);
687 Worker() : cond_(mutex_), ticked_(false) {};
694 int exception_number;
ExecutionContext base class
void VxWorksInterruptExecutionContextInit(RTC::Manager *manager)
当該 ExecutionContext 用Factoryクラスの登録。
ExecutionContext用基底クラス
Definition ExecutionContextBase.h:366
Logger クラス
Definition SystemLogger.h:101
Manager クラス
Definition Manager.h:91
ハードウェア割り込み、ソフトウェア割り込みで実行する ExecutionContext クラス
Definition VxWorksInterruptExecutionContext.h:57
virtual RTC::ReturnCode_t remove_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを参加者リストから削除する
virtual int open(void *args)
ExecutionContext用アクティビティスレッドを生成する
virtual RTC::ReturnCode_t onWaitingReset(RTC_impl::RTObjectStateMachine *comp, long int count)
onWaitingReset() template function
virtual RTC::ReturnCode_t deactivate_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを非アクティブ化する
virtual CORBA::Double get_rate(void)
ExecutionContext の実行周期(Hz)を取得する
virtual RTC::LifeCycleState get_component_state(RTC::LightweightRTObject_ptr comp)
RTコンポーネントの状態を取得する
virtual RTC::ReturnCode_t onWaitingActivated(RTC_impl::RTObjectStateMachine *comp, long int count)
onWaitingActivated() template function
virtual RTC::ExecutionContextProfile * get_profile(void)
ExecutionContextProfile を取得する
virtual RTC::ReturnCode_t start(void)
ExecutionContext の実行を開始
virtual RTC::ReturnCode_t add_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントを追加する
virtual RTC::ReturnCode_t stop(void)
ExecutionContext の実行を停止
virtual int close(unsigned long flags)
ExecutionContext 用のスレッド実行関数
virtual void init(coil::Properties &props)
ExecutionContextの初期化を行う
void getProperty(coil::Properties &prop, const char *key, T &value)
Definition VxWorksInterruptExecutionContext.h:592
virtual RTC::ReturnCode_t onStarted()
onStarted() template function
virtual int svc(void)
各 Component の処理を呼び出す。
virtual RTC::ReturnCode_t reset_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントをリセットする
virtual RTC::ReturnCode_t onAddedComponent(RTC::LightweightRTObject_ptr rtobj)
onAddedComponent() template function
virtual CORBA::Boolean is_running(void)
ExecutionContext 実行状態確認関数
VxWorksInterruptExecutionContext()
コンストラクタ
virtual void tick()
処理を1ステップ進める
virtual RTC::ReturnCode_t onWaitingDeactivated(RTC_impl::RTObjectStateMachine *comp, long int count)
onWaitingDeactivated() template function
virtual RTC::ReturnCode_t onRemovedComponent(RTC::LightweightRTObject_ptr rtobj)
onRemovedComponent() template function
virtual RTC::ReturnCode_t set_rate(CORBA::Double rate)
ExecutionContext の実行周期(Hz)を設定する
virtual RTC::ReturnCode_t activate_component(RTC::LightweightRTObject_ptr comp)
RTコンポーネントをアクティブ化する
virtual ~VxWorksInterruptExecutionContext(void)
デストラクタ
virtual RTC::ExecutionKind get_kind(void)
ExecutionKind を取得する
Definition RTObjectStateMachine.h:43