hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DRCETaskRequestTerminate.hpp
Go to the documentation of this file.
1 
14 #ifndef DRCE_TASK_REQUEST_TERMINATE_HPP
15 #define DRCE_TASK_REQUEST_TERMINATE_HPP
16 
17 #include "DRCETaskRequest.hpp"
18 
19 namespace HCE
20 {
21 namespace drce
22 {
23 //-----------------------------------------------------------------------------
25 {
26 public:
27  enum class AlgorithmType
28  {
29  atUninitialized=0,
30  atDefault=1,
31  atCustom=2
32  };
33 
34  enum class CleanupFlag
35  {
36  cfNotDelete=0,
37  cfDelete=1
38  };
39 
40  explicit DRCETaskRequestTerminate(const std::string& json="");
41  virtual ~DRCETaskRequestTerminate(void) {}
42 
43  bool serialize(std::string& json);
44  bool unserialize(const std::string& json);
45 
46  void setAlgorithmType(AlgorithmType algorithmType_) {algorithmType=algorithmType_;}
47  AlgorithmType getAlgorithmType(void) const {return algorithmType;}
48 
49  void setDelayValue(unsigned int delayValue_) {delayValue=delayValue_;}
50  unsigned int getDelayValue(void) const {return delayValue;}
51 
52  void setRepeatValue(unsigned int repeatValue_) {repeatValue=repeatValue_;}
53  unsigned int getRepeatValue(void) const {return repeatValue;}
54 
55  void setSignalValue(unsigned int signalValue_) {signalValue=signalValue_;}
56  unsigned int getSignalValue(void) const {return signalValue;}
57 
58  void setCleanupFlag(CleanupFlag cleanup_) {cleanup=cleanup_;}
59  CleanupFlag getCleanupFlag(void) const {return cleanup;}
60 
61  void clear(void);
62 private:
63  AlgorithmType algorithmType;
64  unsigned int delayValue;
65  unsigned int repeatValue;
66  unsigned int signalValue;
67  CleanupFlag cleanup;
68 private:
69  friend std::istream& operator>>(std::istream& is, DRCETaskRequestTerminate& rhs);
70  friend std::ostream& operator<<(std::ostream& os, const DRCETaskRequestTerminate& rhs);
71  typedef DRCETaskRequest inherited;
72 };
73 //-----------------------------------------------------------------------------
74 //-----------------------------------------------------------------------------
75 } // end namespace drce
76 } // end namespace HCE
77 
78 #endif // DRCE_TASK_REQUEST_TERMINATE_HPP