CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SMEventScheduler.h
Go to the documentation of this file.
1 //
3 // SMEventScheduler.h
4 // -------
5 //
6 // Holds and executes a FIFO of FSM transition events.
7 //
8 // Created on: Dec 13, 2011
9 // Andrei Spataru : aspataru@cern.ch
11 
12 #ifndef SMEVENTSCHEDULER_H_
13 #define SMEVENTSCHEDULER_H_
14 
17 
18 #include "toolbox/task/WorkLoopFactory.h"
19 #include "toolbox/task/WaitingWorkLoop.h"
20 #include "toolbox/task/Action.h"
21 
22 namespace evf {
23 
24 namespace rb_statemachine {
25 
33 class SMEventScheduler: public toolbox::lang::Class {
34 
35 public:
38 
40  bool processing(toolbox::task::WorkLoop* wl);
41 
42 private:
43  void stopScheduling() {
44  continueWorkloop_ = false;
45  }
46 
47 private:
50  // workloop / action signature for event processing
51  toolbox::task::WorkLoop *wlProcessingEvents_;
52  toolbox::task::ActionSignature *asProcessingEvents_;
54 };
55 
56 }
57 }
58 
59 #endif /* SMEVENTSCHEDULER_H_ */
toolbox::task::WorkLoop * wlProcessingEvents_
bool processing(toolbox::task::WorkLoop *wl)
SMEventScheduler(RBStateMachinePtr fsm, CommandQueue &commands_)
boost::shared_ptr< RBStateMachine > RBStateMachinePtr
toolbox::task::ActionSignature * asProcessingEvents_