otsdaq  v1_01_04
 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  bool isActive (void);
20 
21 protected:
22  volatile bool continueWorkLoop_;
23  virtual bool workLoopThread(toolbox::task::WorkLoop* workLoop) = 0;
24 
25  //Getters
26  const std::string& getWorkLoopName(void);
27 
28 private:
29  const std::string cWorkLoopName_;
30  const std::string cWorkLoopType_;
31  toolbox::task::WorkLoop* workLoop_;
32  toolbox::task::ActionSignature* job_;
33 };
34 
35 }
36 
37 #endif