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)
Register Factory class for this ExecutionContext.
A base class for ExecutionContext.
Definition ExecutionContextBase.h:366
Logger class.
Definition SystemLogger.h:101
Manager class.
Definition Manager.h:91
Definition VxWorksInterruptExecutionContext.h:57
virtual RTC::ReturnCode_t remove_component(RTC::LightweightRTObject_ptr comp)
Remove the RT-Component from participant list.
virtual int open(void *args)
Generate internal activity thread for 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)
Deactivate an RT-component.
virtual CORBA::Double get_rate(void)
Get execution rate(Hz) of ExecutionContext.
virtual RTC::LifeCycleState get_component_state(RTC::LightweightRTObject_ptr comp)
Get RT-component's state.
virtual RTC::ReturnCode_t onWaitingActivated(RTC_impl::RTObjectStateMachine *comp, long int count)
onWaitingActivated() template function
virtual RTC::ExecutionContextProfile * get_profile(void)
Get the ExecutionContextProfile.
virtual RTC::ReturnCode_t start(void)
Start the ExecutionContext.
virtual RTC::ReturnCode_t add_component(RTC::LightweightRTObject_ptr comp)
Add an RT-component.
virtual RTC::ReturnCode_t stop(void)
Stop the ExecutionContext.
virtual int close(unsigned long flags)
Thread execution function for ExecutionContext.
virtual void init(coil::Properties &props)
Initialize the 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)
Invoke each component's operation.
virtual RTC::ReturnCode_t reset_component(RTC::LightweightRTObject_ptr comp)
Reset the RT-component.
virtual RTC::ReturnCode_t onAddedComponent(RTC::LightweightRTObject_ptr rtobj)
onAddedComponent() template function
virtual CORBA::Boolean is_running(void)
Check for ExecutionContext running state.
VxWorksInterruptExecutionContext()
Constructor.
virtual void tick()
Move forward one step of ExecutionContext.
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)
Set execution rate(Hz) of ExecutionContext.
virtual RTC::ReturnCode_t activate_component(RTC::LightweightRTObject_ptr comp)
Activate an RT-component.
virtual ~VxWorksInterruptExecutionContext(void)
Destructor.
virtual RTC::ExecutionKind get_kind(void)
Get the ExecutionKind.
Definition RTObjectStateMachine.h:43