18#ifndef RTC_EXECUTIONCONTEXTBASE_H
19#define RTC_EXECUTIONCONTEXTBASE_H
21#include <coil/Factory.h>
23#include <rtm/idl/RTCSkel.h>
24#include <rtm/idl/OpenRTMSkel.h>
29#define DEFAULT_EXECUTION_RATE 1000
411 virtual void init(coil::Properties& props);
511 virtual RTC::ReturnCode_t
stop();
842 void setObjRef(RTC::ExecutionContextService_ptr ec_ptr);
906 RTC::ReturnCode_t
setKind(RTC::ExecutionKind kind);
925 RTC::ReturnCode_t
setOwner(RTC::LightweightRTObject_ptr comp);
1063 virtual RTC::ReturnCode_t
onStarted() {
return RTC::RTC_OK; }
1065 virtual RTC::ReturnCode_t
onStopped() {
return RTC::RTC_OK; }
1068 virtual double onGetRate(
double rate)
const {
return rate; }
1070 virtual RTC::ReturnCode_t
onSetRate(
double ) {
return RTC::RTC_OK; }
1073 virtual RTC::ReturnCode_t
1078 virtual RTC::ReturnCode_t
1083 virtual RTC::ReturnCode_t
1088 virtual RTC::ReturnCode_t
1095 virtual RTC::ReturnCode_t
1100 virtual RTC::ReturnCode_t
1105 virtual RTC::ReturnCode_t
1111 virtual RTC::ReturnCode_t
1116 virtual RTC::ReturnCode_t
1121 virtual RTC::ReturnCode_t
1130 virtual RTC::ReturnCode_t
1135 virtual RTC::ReturnCode_t
1141 virtual RTC::LifeCycleState
1146 virtual RTC::ExecutionKind
1151 virtual RTC::ExecutionContextProfile*
1165 bool setExecutionRate(coil::Properties& props);
1173 bool setTransitionMode(coil::Properties& props,
1174 const char* key,
bool& flag);
1182 bool setTimeout(coil::Properties& props,
const char* key,
1183 std::chrono::nanoseconds& timevalue);
1208EXTERN
template class DLL_PLUGIN coil::GlobalFactory<RTC::ExecutionContextBase>;
1209#elif defined(__GNUC__)
1210EXTERN
template class coil::GlobalFactory<RTC::ExecutionContextBase>;
ExecutionContextProfile class.
ExecutionContext's state machine worker class.
RT-Component factory class.
A base class for ExecutionContext.
Definition ExecutionContextBase.h:366
RTC::RTObject_ptr getOwner() const
Getting a reference of the owner component.
RTC_impl::ExecutionContextProfile m_profile
Definition ExecutionContextBase.h:1193
virtual RTC::ReturnCode_t onActivated(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1106
RTC::ExecutionKind getKind() const
Get the ExecutionKind.
RTC::Logger rtclog
Definition ExecutionContextBase.h:1190
static const char * getKindString(RTC::ExecutionKind kind)
Converting ExecutionKind enum to string.
const RTC::RTCList & getComponentList() const
Getting participant RTC list.
RTC::ReturnCode_t setRate(double rate)
Set execution rate(Hz) of ExecutionContext.
std::chrono::nanoseconds getPeriod() const
RTC::ReturnCode_t activateComponent(RTC::LightweightRTObject_ptr comp)
Activate an RT-component.
RTC::ReturnCode_t removeComponent(RTC::LightweightRTObject_ptr comp)
Remove the RT-Component from participant list.
coil::Properties getProperties() const
Setting Properties.
bool isAllCurrentState(RTC::LifeCycleState state)
Definition ExecutionContextBase.h:1036
bool isOneOfCurrentState(RTC::LifeCycleState state)
Definition ExecutionContextBase.h:1044
void invokeWorkerPreDo()
Definition ExecutionContextBase.h:1054
CORBA::Boolean isRunning()
Check for ExecutionContext running state.
void setProperties(coil::Properties &props)
Setting Properties.
virtual ~ExecutionContextBase()
Virtual Destructor.
virtual RTC::ReturnCode_t onStarting()
Definition ExecutionContextBase.h:1062
virtual RTC::ReturnCode_t onStarted()
Definition ExecutionContextBase.h:1063
RTC::ReturnCode_t addComponent(RTC::LightweightRTObject_ptr comp)
Add an RT-component.
virtual RTC::ReturnCode_t stop()
Stop the ExecutionContext.
virtual RTC::ExecutionContextProfile * onGetProfile(RTC::ExecutionContextProfile *&profile)
Definition ExecutionContextBase.h:1152
virtual RTC::LifeCycleState onGetComponentState(RTC::LifeCycleState state)
Definition ExecutionContextBase.h:1142
std::chrono::nanoseconds m_deactivationTimeout
Definition ExecutionContextBase.h:1196
virtual RTC::ReturnCode_t onStopped()
Definition ExecutionContextBase.h:1065
RTC::ExecutionContextProfile * getProfile()
Getting Profile.
bool isAllNextState(RTC::LifeCycleState state)
Definition ExecutionContextBase.h:1040
virtual RTC::ReturnCode_t onResetting(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1126
virtual double onGetRate(double rate) const
Definition ExecutionContextBase.h:1068
double getRate() const
Get execution rate(Hz) of ExecutionContext.
const RTC::ExecutionContextProfile & getProfile() const
Getting Profile.
virtual RTC::ReturnCode_t onAddedComponent(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1079
RTC::ReturnCode_t start()
Start the ExecutionContext.
static const char * getStateString(RTC::LifeCycleState state)
virtual RTC::ReturnCode_t onWaitingDeactivated(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1117
RTC::LifeCycleState getComponentState(RTC::LightweightRTObject_ptr comp)
Get RT-component's state.
virtual RTC::ReturnCode_t bindComponent(RTC::RTObject_impl *rtc)
Bind the component.
void invokeWorker()
Definition ExecutionContextBase.h:1053
virtual RTC::ReturnCode_t onAddingComponent(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1074
RTC_impl::ExecutionContextWorker m_worker
Definition ExecutionContextBase.h:1192
bool m_syncActivation
Definition ExecutionContextBase.h:1199
virtual RTC::ReturnCode_t onSetRate(double)
Definition ExecutionContextBase.h:1070
virtual RTC::ReturnCode_t onReset(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1136
std::chrono::nanoseconds m_activationTimeout
Definition ExecutionContextBase.h:1195
RTC::ReturnCode_t deactivateComponent(RTC::LightweightRTObject_ptr comp)
Deactivate an RT-component.
void invokeWorkerPostDo()
Definition ExecutionContextBase.h:1056
virtual double onSettingRate(double rate)
Definition ExecutionContextBase.h:1069
virtual RTC::ExecutionKind onGetKind(RTC::ExecutionKind kind) const
Definition ExecutionContextBase.h:1147
virtual RTC::ReturnCode_t onRemovingComponent(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1084
bool m_syncDeactivation
Definition ExecutionContextBase.h:1200
bool isOneOfNextState(RTC::LifeCycleState state)
Definition ExecutionContextBase.h:1048
RTC::ReturnCode_t setOwner(RTC::LightweightRTObject_ptr comp)
Setting owner component of the execution context.
RTC::ReturnCode_t resetComponent(RTC::LightweightRTObject_ptr comp)
Reset the RT-component.
virtual bool onIsRunning(bool running)
Definition ExecutionContextBase.h:1061
virtual void init(coil::Properties &props)
Initialize the ExecutionContext.
std::chrono::nanoseconds m_resetTimeout
Definition ExecutionContextBase.h:1197
virtual RTC::ReturnCode_t onWaitingActivated(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1101
virtual RTC::ReturnCode_t onDeactivated(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1122
virtual RTC::ReturnCode_t onDeactivating(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1112
void setObjRef(RTC::ExecutionContextService_ptr ec_ptr)
Get the reference to the CORBA object.
virtual RTC::ReturnCode_t onRemovedComponent(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1089
RTC::ReturnCode_t setKind(RTC::ExecutionKind kind)
Set the ExecutionKind.
virtual RTC::ReturnCode_t onStopping()
Definition ExecutionContextBase.h:1064
RTC::ExecutionContextService_ptr getObjRef() const
virtual RTC::ReturnCode_t onActivating(RTC::LightweightRTObject_ptr)
Definition ExecutionContextBase.h:1096
void invokeWorkerDo()
Definition ExecutionContextBase.h:1055
ExecutionContextBase(const char *name)
Constructor.
virtual RTC::ReturnCode_t onWaitingReset(RTC_impl::RTObjectStateMachine *, long int)
Definition ExecutionContextBase.h:1131
bool m_syncReset
Definition ExecutionContextBase.h:1201
Logger class.
Definition SystemLogger.h:101
RT-Component class.
Definition RTObject.h:93
ExecutionContextProfile class.
Definition ExecutionContextProfile.h:51
ExecutionContextWorker class.
Definition ExecutionContextWorker.h:112
bool isAllNextState(RTC::LifeCycleState state)
bool isAllCurrentState(RTC::LifeCycleState state)
void invokeWorkerPostDo()
bool isOneOfNextState(RTC::LifeCycleState state)
bool isOneOfCurrentState(RTC::LifeCycleState state)
Definition RTObjectStateMachine.h:43
coil::GlobalFactory< ExecutionContextBase > ExecutionContextFactory
Definition ExecutionContextBase.h:1204
Definition DefaultPeriodicTask.h:24