public class ExtTrigExecutionContext extends ExtTrigExecutionContextServicePOA implements java.lang.Runnable, ObjectCreator<ExecutionContextBase>, ObjectDestructor, ExecutionContextBase
1周期毎の実行が可能なPeriodic Sampled Data Processing(周期実行用) ExecutionContextクラスです。 外部からのメソッド呼びだしによって時間が1周期づつ進みます。
修飾子とタイプ | クラスと説明 |
---|---|
protected class |
ExtTrigExecutionContext.Comp
ExecutionContextにattachされたコンポーネントのメソッド呼出用クラスです。
|
protected class |
ExtTrigExecutionContext.DFP
DataFlowComponentのAction定義用抽象クラスです。
|
protected class |
ExtTrigExecutionContext.DFPBase
DataFlowComponentのAction定義用抽象クラスです。
|
protected class |
ExtTrigExecutionContext.find_comp
管理対象コンポーネント検索用ヘルパークラスです。
|
ExecutionContextBase.transitionModeHolder
修飾子とタイプ | フィールドと説明 |
---|---|
(package private) TimeValue |
m_activationTimeout |
protected java.util.ArrayList<ExtTrigExecutionContext.Comp> |
m_comps
ExecutionContextにatttachされているコンポーネントのリストです。
|
(package private) TimeValue |
m_deactivationTimeout |
protected boolean |
m_nowait |
protected ExecutionContextProfile |
m_profile
ExecutionContextProfileです。
|
protected ExecutionContextService |
m_ref
ExecutionContextServiceとしてのCORBAオブジェクト参照です。
|
(package private) TimeValue |
m_resetTimeout |
protected boolean |
m_running
ExecutionContextの実行状態です。
|
(package private) boolean |
m_syncActivation |
(package private) boolean |
m_syncDeactivation |
(package private) boolean |
m_syncReset |
protected java.lang.Thread |
m_thread |
protected long |
m_usec
ExecutionContextの動作周期です。
|
protected ExecutionContextWorker |
m_worker |
protected Logbuf |
rtcout
Logging用フォーマットオブジェクト
|
コンストラクタと説明 |
---|
ExtTrigExecutionContext()
コンストラクタ
|
修飾子とタイプ | メソッドと説明 |
---|---|
ExecutionContextService |
__this()
__this()
|
ReturnCode_t |
activate_component(LightweightRTObject comp)
コンポーネントをアクティブ化します。
|
ReturnCode_t |
activateComponent(LightweightRTObject comp) |
ReturnCode_t |
add_component(LightweightRTObject comp)
RTコンポーネントを追加する
{@.ja 指定したRTコンポーネントを参加者リストに追加する。
|
ReturnCode_t |
addComponent(LightweightRTObject comp) |
ReturnCode_t |
bindComponent(RTObject_impl rtc)
コンポーネントをバインドする。
|
ExecutionContextBase |
creator_()
OpenHRPExecutionContext を生成する
|
ReturnCode_t |
deactivate_component(LightweightRTObject comp)
コンポーネントを非アクティブ化します。
|
ReturnCode_t |
deactivateComponent(LightweightRTObject comp) |
void |
destructor_(java.lang.Object obj)
Object を破棄する
|
java.lang.Object |
ECDeleteFunc(ExecutionContextBase comp)
ExecutionContextのインスタンスを破棄します。
|
ExecutionContextBase |
ECNewFunc()
ExecutionContextのインスタンスを取得します。
|
static void |
ExtTrigExecutionContextInit(Manager manager)
このExecutionContextを生成するFactoryクラスを
ExecutionContext用ObjectManagerに登録します。
|
LifeCycleState |
get_component_state(LightweightRTObject comp)
コンポーネントの状態を取得します。
|
ExecutionKind |
get_kind()
ExecutionKindを取得します。
|
ExecutionContextProfile |
get_profile()
ExecutionContextProfile を取得します。
|
double |
get_rate()
ExecutionContext の実行周期(Hz)を取得する
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得す
る。
|
RTObject[] |
getComponentList()
RTコンポーネントの参加者リストを取得する
現在登録されている参加者RTCのリストを取得する。
|
LifeCycleState |
getComponentState(LightweightRTObject comp) |
ExecutionKind |
getKind() |
java.lang.String |
getKindString(ExecutionKind kind)
ExecutionKind を文字列化する
RTC::ExecutionKind で定義されている PERIODIC, EVENT_DRIVEN,
OTHER を文字列化する。
|
ExecutionContextService |
getObjRef()
CORBA オブジェクト参照の取得
本オブジェクトの ExecutioncontextService としての CORBA オブジェ
クト参照を取得する。
|
RTObject |
getOwner()
Ownerコンポーネントの参照を取得する
このECのOwnerであるRTCの参照を取得する。
|
TimeValue |
getPeriod() |
ExecutionContextProfile |
getProfile()
rofileを取得する
ExecutionContextProfile を取得する。
|
Properties |
getProperties()
Propertiesを取得する
ExecutionContextProfile::properties を取得する。
|
double |
getRate()
ExecutionContext の実行周期(Hz)を取得する
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得す
る。
|
void |
init(Properties props)
ExecutionContextクラスの初期化関数
|
void |
invokeWorker() |
void |
invokeWorkerDo() |
void |
invokeWorkerPostDo() |
void |
invokeWorkerPreDo() |
boolean |
is_running()
ExecutionContext 実行状態確認関数
{@.ja この操作は ExecutionContext が Runnning 状態の場合に true を返す。
|
boolean |
isAllCurrentState(LifeCycleState state) |
boolean |
isAllNextState(LifeCycleState state) |
boolean |
isOneOfCurrentState(LifeCycleState state) |
boolean |
isOneOfNextState(LifeCycleState state) |
boolean |
isRunning() |
ReturnCode_t |
onActivated(RTObjectStateMachine comp,
long count) |
ReturnCode_t |
onActivating(LightweightRTObject comp) |
ReturnCode_t |
onAddedComponent(LightweightRTObject rtobj) |
ReturnCode_t |
onAddingComponent(LightweightRTObject rtobj) |
ReturnCode_t |
onDeactivated(RTObjectStateMachine comp,
long count) |
ReturnCode_t |
onDeactivating(LightweightRTObject comp) |
LifeCycleState |
onGetComponentState(LifeCycleState state) |
ExecutionKind |
onGetKind(ExecutionKind kind) |
ExecutionContextProfile |
onGetProfile(ExecutionContextProfile profile) |
double |
onGetRate(double rate) |
ReturnCode_t |
onRemovedComponent(LightweightRTObject rtobj) |
ReturnCode_t |
onRemovingComponent(LightweightRTObject rtobj) |
ReturnCode_t |
onReset(RTObjectStateMachine comp,
long count) |
ReturnCode_t |
onResetting(LightweightRTObject comp) |
ReturnCode_t |
onSetRate(double rate) |
double |
onSettingRate(double rate) |
ReturnCode_t |
onStarted() |
ReturnCode_t |
onStarting() |
ReturnCode_t |
onStopped() |
ReturnCode_t |
onStopping() |
ReturnCode_t |
onWaitingActivated(RTObjectStateMachine comp,
long count)
onWaitingActivated() template function
|
ReturnCode_t |
onWaitingDeactivated(RTObjectStateMachine comp,
long count)
onWaitingDeactivated() template function
|
ReturnCode_t |
onWaitingReset(RTObjectStateMachine comp,
long count)
onWaitingReset() template function
|
int |
open()
ExecutionContext用のスレッドを生成します。
|
ReturnCode_t |
remove_component(LightweightRTObject comp)
RTコンポーネントを参加者リストから削除する
{@.ja 指定したRTコンポーネントを参加者リストから削除する。
|
ReturnCode_t |
removeComponent(LightweightRTObject comp) |
ReturnCode_t |
reset_component(LightweightRTObject comp)
コンポーネントをリセットします。
|
ReturnCode_t |
resetCcomponent(LightweightRTObject comp) |
void |
run()
ExecutionContextを起動します。
|
ReturnCode_t |
set_rate(double rate)
ExecutionContextの実行周期(Hz)を設定します。
|
boolean |
setExecutionRate(Properties props)
Propertiesから実行コンテキストをセットする
|
ReturnCode_t |
setKind(ExecutionKind kind)
ExecutionKind を設定する
この ExecutionContext の ExecutionKind を設定する
|
void |
setObjRef(ExecutionContextService ref)
CORBA オブジェクト参照の取得
本オブジェクトの ExecutioncontextService としての CORBA オブジェ
クト参照を取得する。
|
ReturnCode_t |
setOwner(LightweightRTObject comp)
Ownerコンポーネントをセットする。
|
void |
setProperties(Properties props)
Propertiesをセットする
ExecutionContextProfile::properties をセットする。
|
ReturnCode_t |
setRate(double rate)
ExecutionContext の実行周期(Hz)を設定する
{@.ja Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を設定す
る。
|
boolean |
setTimeout(Properties props,
java.lang.String key,
TimeValue timevalue)
Propertiesから状態遷移Timeoutをセットする
|
boolean |
setTransitionMode(Properties props,
java.lang.String key,
ExecutionContextBase.transitionModeHolder tmhldr)
Propertiesから状態遷移モードをセットする
|
ReturnCode_t |
start()
ExecutionContext の実行を開始
{@.ja ExecutionContext の実行状態を Runnning とするためのリクエストを
発行する。
|
ReturnCode_t |
stop()
ExecutionContext の実行を停止
{@.ja ExecutionContext の状態を Stopped とするためのリクエストを発行す
る。
|
int |
svc()
ExecutionContextにattachされている各Componentの処理を呼び出します。
|
boolean |
threadRunning() |
void |
tick()
ExecutionContextの処理を進める
ExecutionContextの処理を1周期分進めます。
|
ReturnCode_t |
waitForActivated(RTObjectStateMachine rtobj) |
ReturnCode_t |
waitForDeactivated(RTObjectStateMachine rtobj) |
ReturnCode_t |
waitForReset(RTObjectStateMachine rtobj) |
_all_interfaces, _invoke, _this, _this
TimeValue m_activationTimeout
TimeValue m_deactivationTimeout
TimeValue m_resetTimeout
boolean m_syncActivation
boolean m_syncDeactivation
boolean m_syncReset
protected java.util.ArrayList<ExtTrigExecutionContext.Comp> m_comps
ExecutionContextにatttachされているコンポーネントのリストです。
protected boolean m_running
ExecutionContextの実行状態です。
protected ExecutionContextWorker m_worker
protected ExecutionContextProfile m_profile
ExecutionContextProfileです。
protected long m_usec
ExecutionContextの動作周期です。
protected ExecutionContextService m_ref
ExecutionContextServiceとしてのCORBAオブジェクト参照です。
protected boolean m_nowait
protected java.lang.Thread m_thread
protected Logbuf rtcout
Logging用フォーマットオブジェクト
public ExecutionContextService __this()
__this()
public void tick() throws org.omg.CORBA.SystemException
ExecutionContextの処理を1周期分進めます。
tick
インタフェース内 ExtTrigExecutionContextServiceOperations
org.omg.CORBA.SystemException
public int open()
ExecutionContext用のスレッドを生成します。
public int svc()
ExecutionContextにattachされている各Componentの処理を呼び出します。 全Componentの処理を呼び出した後、次のイベントが発生するまで休止します。
public void run()
ExecutionContextを起動します。
run
インタフェース内 java.lang.Runnable
public boolean is_running()
この操作は ExecutionContext が Runnning 状態の場合に true を返す。 Executioncontext が Running の間、当該 Executioncontext に参加し ている全てのアクティブRTコンポーネントが、ExecutionContext の実 行種類に応じて実行される。
is_running
インタフェース内 ExecutionContextOperations
public boolean isRunning()
public ReturnCode_t onStarting()
public ReturnCode_t onStarted()
onStarted
インタフェース内 ExecutionContextBase
public ReturnCode_t onStopping()
onStopping
インタフェース内 ExecutionContextBase
public ReturnCode_t onStopped()
onStopped
インタフェース内 ExecutionContextBase
public double onGetRate(double rate)
onGetRate
インタフェース内 ExecutionContextBase
public double onSettingRate(double rate)
onSettingRate
インタフェース内 ExecutionContextBase
public ReturnCode_t onSetRate(double rate)
onSetRate
インタフェース内 ExecutionContextBase
public ReturnCode_t onAddingComponent(LightweightRTObject rtobj)
onAddingComponent
インタフェース内 ExecutionContextBase
public ReturnCode_t onAddedComponent(LightweightRTObject rtobj)
onAddedComponent
インタフェース内 ExecutionContextBase
public ReturnCode_t onRemovingComponent(LightweightRTObject rtobj)
onRemovingComponent
インタフェース内 ExecutionContextBase
public ReturnCode_t onRemovedComponent(LightweightRTObject rtobj)
onRemovedComponent
インタフェース内 ExecutionContextBase
public ReturnCode_t onActivating(LightweightRTObject comp)
onActivating
インタフェース内 ExecutionContextBase
public ReturnCode_t onActivated(RTObjectStateMachine comp, long count)
onActivated
インタフェース内 ExecutionContextBase
public ReturnCode_t onDeactivating(LightweightRTObject comp)
onDeactivating
インタフェース内 ExecutionContextBase
public ReturnCode_t onDeactivated(RTObjectStateMachine comp, long count)
onDeactivated
インタフェース内 ExecutionContextBase
public ReturnCode_t onResetting(LightweightRTObject comp)
onResetting
インタフェース内 ExecutionContextBase
public boolean threadRunning()
public ReturnCode_t onReset(RTObjectStateMachine comp, long count)
onReset
インタフェース内 ExecutionContextBase
public LifeCycleState onGetComponentState(LifeCycleState state)
onGetComponentState
インタフェース内 ExecutionContextBase
public ExecutionKind onGetKind(ExecutionKind kind)
onGetKind
インタフェース内 ExecutionContextBase
public ExecutionContextProfile onGetProfile(ExecutionContextProfile profile)
onGetProfile
インタフェース内 ExecutionContextBase
public ReturnCode_t onWaitingActivated(RTObjectStateMachine comp, long count)
onWaitingActivated
インタフェース内 ExecutionContextBase
public ReturnCode_t onWaitingDeactivated(RTObjectStateMachine comp, long count)
ExecutionContextBase
onWaitingDeactivated
インタフェース内 ExecutionContextBase
public ReturnCode_t onWaitingReset(RTObjectStateMachine comp, long count)
ExecutionContextBase
onWaitingReset
インタフェース内 ExecutionContextBase
public ReturnCode_t start()
ExecutionContext の実行状態を Runnning とするためのリクエストを 発行する。ExecutionContext の状態が遷移すると ComponentAction::on_startup が呼び出される。参加しているRTコンポー ネントが、初期化されるまで ExecutionContext を開始することはでき ない。ExecutionContext は複数回開始/停止を繰り返すことができる。
start
インタフェース内 ExecutionContextOperations
public ReturnCode_t stop()
ExecutionContext の状態を Stopped とするためのリクエストを発行す る。遷移が発生した場合は、ComponentAction::on_shutdown が呼び出 される。参加しているRTコンポーネントが終了する前に ExecutionContext を停止する必要がある。ExecutionContext は複数回 開始/停止を繰り返すことができる。
stop
インタフェース内 ExecutionContextOperations
public double get_rate()
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得す る。
get_rate
インタフェース内 ExecutionContextOperations
public TimeValue getPeriod()
public ReturnCode_t set_rate(double rate)
ExecutionContextの実行周期(Hz)を設定します。
set_rate
インタフェース内 ExecutionContextOperations
rate
- 実行周期(Hz)public ReturnCode_t activate_component(LightweightRTObject comp)
コンポーネントをアクティブ化します。
activate_component
インタフェース内 ExecutionContextOperations
comp
- アクティブ化対象コンポーネントpublic ReturnCode_t activateComponent(LightweightRTObject comp)
public ReturnCode_t waitForActivated(RTObjectStateMachine rtobj)
public ReturnCode_t deactivate_component(LightweightRTObject comp)
コンポーネントを非アクティブ化します。
deactivate_component
インタフェース内 ExecutionContextOperations
comp
- 非アクティブ化対象コンポーネントpublic ReturnCode_t deactivateComponent(LightweightRTObject comp)
public ReturnCode_t waitForDeactivated(RTObjectStateMachine rtobj)
public ReturnCode_t reset_component(LightweightRTObject comp)
コンポーネントをリセットします。
reset_component
インタフェース内 ExecutionContextOperations
comp
- リセット対象コンポーネントpublic ReturnCode_t resetCcomponent(LightweightRTObject comp)
public ReturnCode_t waitForReset(RTObjectStateMachine rtobj)
public LifeCycleState get_component_state(LightweightRTObject comp)
コンポーネントの状態を取得します。
get_component_state
インタフェース内 ExecutionContextOperations
comp
- 状態取得対象コンポーネントpublic LifeCycleState getComponentState(LightweightRTObject comp)
public ExecutionKind get_kind()
ExecutionKindを取得します。
get_kind
インタフェース内 ExecutionContextOperations
public ExecutionKind getKind()
public ReturnCode_t add_component(LightweightRTObject comp)
指定したRTコンポーネントを参加者リストに追加する。追加されたRTコ ンポーネントは attach_context が呼ばれ、Inactive 状態に遷移する。 指定されたRTコンポーネントがnullの場合は、BAD_PARAMETER が返され る。指定されたRTコンポーネントが DataFlowComponent 以外の場合は、 BAD_PARAMETER が返される。
add_component
インタフェース内 ExecutionContextOperations
comp
- 追加対象RTコンポーネント
public ReturnCode_t addComponent(LightweightRTObject comp)
public ReturnCode_t bindComponent(RTObject_impl rtc)
コンポーネントをバインドする。
bindComponent
インタフェース内 ExecutionContextBase
rtc
- RTコンポーネント
public ReturnCode_t remove_component(LightweightRTObject comp)
指定したRTコンポーネントを参加者リストから削除する。削除された RTコンポーネントは detach_context が呼ばれる。指定されたRTコンポー ネントが参加者リストに登録されていない場合は、BAD_PARAMETER が返 される。
remove_component
インタフェース内 ExecutionContextOperations
comp
- 削除対象RTコンポーネント
public ReturnCode_t removeComponent(LightweightRTObject comp)
public ExecutionContextProfile get_profile()
ExecutionContextProfile を取得します。
get_profile
インタフェース内 ExecutionContextServiceOperations
public ExecutionContextBase creator_()
creator_
インタフェース内 ObjectCreator<ExecutionContextBase>
public void destructor_(java.lang.Object obj)
destructor_
インタフェース内 ObjectDestructor
obj
- 破棄するインタスタンス
public static void ExtTrigExecutionContextInit(Manager manager)
このExecutionContextを生成するFactoryクラスを ExecutionContext用ObjectManagerに登録します。
manager
- Managerオブジェクトpublic java.lang.Object ECDeleteFunc(ExecutionContextBase comp)
ExecutionContextのインスタンスを破棄します。
ECDeleteFunc
インタフェース内 ECNewDeleteFunc
comp
- 破棄対象ExecutionContextインスタンスpublic ExecutionContextBase ECNewFunc()
ExecutionContextのインスタンスを取得します。
ECNewFunc
インタフェース内 ECNewDeleteFunc
public void init(Properties props)
init
インタフェース内 ExecutionContextBase
public void setObjRef(ExecutionContextService ref)
本オブジェクトの ExecutioncontextService としての CORBA オブジェ クト参照を取得する。
setObjRef
インタフェース内 ExecutionContextBase
ref
- CORBA オブジェクト参照
public ExecutionContextService getObjRef()
本オブジェクトの ExecutioncontextService としての CORBA オブジェ クト参照を取得する。
getObjRef
インタフェース内 ExecutionContextBase
public ReturnCode_t setRate(double rate)
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を設定す る。実行周期の変更は、DataFlowComponentAction の on_rate_changed によって各RTコンポーネントに伝達される。
setRate
インタフェース内 ExecutionContextBase
rate
- 処理周期(単位:Hz)
public double getRate()
Active 状態にてRTコンポーネントが実行される周期(単位:Hz)を取得す る。
getRate
インタフェース内 ExecutionContextBase
public final java.lang.String getKindString(ExecutionKind kind)
RTC::ExecutionKind で定義されている PERIODIC, EVENT_DRIVEN, OTHER を文字列化する。
getKindString
インタフェース内 ExecutionContextBase
kind
- ExecutionKind
public ReturnCode_t setKind(ExecutionKind kind)
この ExecutionContext の ExecutionKind を設定する
setKind
インタフェース内 ExecutionContextBase
kind
- ExecutionKind
public ReturnCode_t setOwner(LightweightRTObject comp)
このECのOwnerとなるRTCをセットする。
setOwner
インタフェース内 ExecutionContextBase
comp
- OwnerとなるRTコンポーネント
public RTObject getOwner()
このECのOwnerであるRTCの参照を取得する。
getOwner
インタフェース内 ExecutionContextBase
public RTObject[] getComponentList()
現在登録されている参加者RTCのリストを取得する。
getComponentList
インタフェース内 ExecutionContextBase
public void setProperties(Properties props)
ExecutionContextProfile::properties をセットする。
setProperties
インタフェース内 ExecutionContextBase
props
- ExecutionContextProfile::properties にセットするプロパティー
public Properties getProperties()
ExecutionContextProfile::properties を取得する。
getProperties
インタフェース内 ExecutionContextBase
public ExecutionContextProfile getProfile()
ExecutionContextProfile を取得する。
getProfile
インタフェース内 ExecutionContextBase
public boolean setTimeout(Properties props, java.lang.String key, TimeValue timevalue)
ExecutionContextBase
setTimeout
インタフェース内 ExecutionContextBase
props
- ExecutionContextProfile::properties にセットするプロパティー
public boolean setExecutionRate(Properties props)
ExecutionContextBase
setExecutionRate
インタフェース内 ExecutionContextBase
props
- ExecutionContextProfile::properties にセットするプロパティー
public boolean setTransitionMode(Properties props, java.lang.String key, ExecutionContextBase.transitionModeHolder tmhldr)
ExecutionContextBase
setTransitionMode
インタフェース内 ExecutionContextBase
props
- ExecutionContextProfile::properties にセットするプロパティー
public boolean isAllCurrentState(LifeCycleState state)
isAllCurrentState
インタフェース内 ExecutionContextBase
public boolean isAllNextState(LifeCycleState state)
isAllNextState
インタフェース内 ExecutionContextBase
public boolean isOneOfCurrentState(LifeCycleState state)
isOneOfCurrentState
インタフェース内 ExecutionContextBase
public boolean isOneOfNextState(LifeCycleState state)
isOneOfNextState
インタフェース内 ExecutionContextBase
public void invokeWorker()
invokeWorker
インタフェース内 ExecutionContextBase
public void invokeWorkerPreDo()
invokeWorkerPreDo
インタフェース内 ExecutionContextBase
public void invokeWorkerDo()
invokeWorkerDo
インタフェース内 ExecutionContextBase
public void invokeWorkerPostDo()
invokeWorkerPostDo
インタフェース内 ExecutionContextBase