OpenRTM-aist IDL
1.2
|
ExecutionContextService. More...
import"RTC.idl";
Public Member Functions | |
ExecutionContextProfile | get_profile () |
get_profile More... | |
boolean | is_running () |
is_running More... | |
ReturnCode_t | start () |
start More... | |
ReturnCode_t | stop () |
stop More... | |
double | get_rate () |
get_rate More... | |
ReturnCode_t | set_rate (in double rate) |
set_rate More... | |
ReturnCode_t | add_component (in LightweightRTObject comp) |
add_component More... | |
ReturnCode_t | remove_component (in LightweightRTObject comp) |
remove_component More... | |
ReturnCode_t | activate_component (in LightweightRTObject comp) |
activate_component More... | |
ReturnCode_t | deactivate_component (in LightweightRTObject comp) |
deactivate_component More... | |
ReturnCode_t | reset_component (in LightweightRTObject comp) |
reset_component More... | |
LifeCycleState | get_component_state (in LightweightRTObject comp) |
get_component_state More... | |
ExecutionKind | get_kind () |
get_kind More... | |
An ExecutionContextService exposes an ExecutionContext as an SDO service such that the context may be controlled remotely.
Depending on the implementation, this interface may itself be an execution context (that is, it may be passed to the operations of ComponentAction) or it may represent a remote execution context that is not of type ExecutionContextService.
|
inherited |
activate_component
The given participant RTC is Inactive and is therefore not being invoked according to the execution context’s execution kind. This operation shall cause the RTC to transition to the Active state such that it may subsequently be invoked in this execution context.
The callback on_activate shall be called as a result of calling this operation. This operation shall not return until the callback has returned, and shall result in an error if the callback does. The following figure is a non-normative example sequence diagram for activate_component.
|
inherited |
add_component
The operation causes the given RTC to begin participating in the execution context.
The newly added RTC will receive a call to LightweightRTComponent::attach_context (see Section 5.2.2.2.5) and then enter the Inactive state.
|
inherited |
deactivate_component
The given RTC is Active in the execution context. Cause it to transition to the Inactive state such that it will not be subsequently invoked from the context unless and until it is activated again.
The callback on_deactivate shall be called as a result of calling this operation. This operation shall not return until the callback has returned, and shall result in an error if the callback does. The following figure is a non-normative example sequence diagram for deactivate_component.
|
inherited |
get_component_state
This operation shall report the LifeCycleState of the given participant RTC.
|
inherited |
ExecutionContextProfile RTC::ExecutionContextService::get_profile | ( | ) |
|
inherited |
get_rate
This operation shall return the rate (in hertz) at which its Active participating RTCs are being invoked.
An implementation is permitted to perform some periodic or quasi-periodic processing within an execution context with an ExecutionKind other than PERIODIC. In such a case, the result of this operation is implementation-defined. If no periodic processing of any kind is taking place within the context, this operation shall fail as described in Section 5.2.1.
|
inherited |
|
inherited |
remove_component
This operation causes a participant RTC to stop participating in the execution context.
The removed RTC will receive a call to LightweightRTComponent::detach_context (see Section 5.2.2.2.6).
|
inherited |
reset_component
Attempt to recover the RTC when it is in Error.
The ComponentAction::on_reset callback shall be invoked. This operation shall not return until the callback has returned, and shall result in an error if the callback does. If possible, the RTC developer should implement that callback such that the RTC may be returned to a valid state. * If this operation fails, the RTC will remain in Error.
|
inherited |
set_rate
This operation shall set the rate (in hertz) at which this context’s Active participating RTCs are being called.
If the execution kind of the context is PERIODIC, a rate change shall result in the invocation of on_rate_changed on any RTCs realizing DataFlowComponentAction that are registered with any RTCs participating in the context. An implementation is permitted to perform some periodic or quasi-periodic processing within an execution context with an ExecutionKind other than PERIODIC. If such is the case, and the implementation reports a rate from get_rate, this operation shall set that rate successfully provided that the given rate is valid. If no periodic processing of any kind is taking place within the context, this operation shall fail with ReturnCode_t::UNSUPPORTED.
|
inherited |
start
Request that the context enter the Running state. Once the state transition occurs, the ComponentAction::on_startup operation (see Section 5.2.2.4.3) will be invoked.
An execution context may not be started until the RT components that participate in it have been initialized. An execution context may be started and stopped multiple times.
|
inherited |
stop
Request that the context enter the Stopped state. Once the transition occurs, the ComponentAction::on_shutdown operation (see Section 5.2.2.4.4) will be invoked.
An execution context must be stopped before the RT components that participate in it are finalized.
An execution context may be started and stopped multiple times.