otsdaq  v1_01_03
 All Classes Namespaces Functions
WorkLoop.h
1 #ifndef _ots_WorkLoop_h
2 #define _ots_WorkLoop_h
3 
4 #include <toolbox/task/WorkLoop.h>
5 #include "toolbox/lang/Class.h"
6 #include <string>
7 
8 namespace ots
9 {
10 
11 class WorkLoop : public virtual toolbox::lang::Class
12 {
13 public:
14  WorkLoop(std::string name);
15  virtual ~WorkLoop(void);
16 
17  void startWorkLoop (void);
18  bool stopWorkLoop (void);
19 
20 protected:
21  volatile bool continueWorkLoop_;
22  virtual bool workLoopThread(toolbox::task::WorkLoop* workLoop) = 0;
23 
24  //Getters
25  const std::string& getWorkLoopName(void);
26 
27 private:
28  const std::string cWorkLoopName_;
29  const std::string cWorkLoopType_;
30  toolbox::task::WorkLoop* workLoop_;
31  toolbox::task::ActionSignature* job_;
32 };
33 
34 }
35 
36 #endif