8#include <boost/thread.hpp>
41 template <
typename EventType>
44 boost::intrusive_ptr<EventType> weakPtrEvent = ev;
93template <
typename StateMachineType>
103 SmaccFifoScheduler::processor_handle sm = scheduler1.create_processor<StateMachineType>(&signalDetector);
108 scheduler1.initiate_processor(sm);
111 boost::thread otherThread(boost::bind(&sc::fifo_scheduler<>::operator(), &scheduler1, 0));
115 scheduler1.terminate();
ExecutionModel executionModel_
std::atomic< bool > initialized_
std::vector< std::vector< ISmaccUpdatable * > > updatableStateElements_
std::vector< ISmaccUpdatable * > updatableClients_
std::atomic< uint64_t > lastState_
void notifyStateConfigured(ISmaccState *currentState)
boost::thread signalDetectorThread_
void findUpdatableStateElements(ISmaccState *currentState)
ISmaccStateMachine * smaccStateMachine_
void findUpdatableClients()
void postEvent(EventType *ev)
void initialize(ISmaccStateMachine *stateMachine)
SmaccFifoScheduler::processor_handle processorHandle_
void setProcessorHandle(SmaccFifoScheduler::processor_handle processorHandle)
void notifyStateExited(ISmaccState *currentState)
SmaccFifoScheduler * scheduler_
ros::Publisher statusPub_
void run(ExecutionModel executionModel=ExecutionModel::SINGLE_THREAD_SPINNER)
boost::statechart::fifo_scheduler< SmaccFifoWorker, SmaccAllocator > SmaccFifoScheduler