DDS  ver. 2.0
Trigger.h
Go to the documentation of this file.
1 // Copyright 2014 GSI, Inc. All rights reserved.
2 //
3 //
4 //
5 
6 #ifndef __DDS__Trigger__
7 #define __DDS__Trigger__
8 
9 // DDS
10 #include "TopoBase.h"
11 // STD
12 #include <string>
13 
14 namespace dds
15 {
16  namespace topology_api
17  {
18  enum class EConditionType
19  {
20  None,
22  };
23 
24  enum class EActionType
25  {
26  None,
28  };
29 
32  class CTrigger : public CTopoBase
33  {
34  public:
36  CTrigger();
37 
39  virtual ~CTrigger();
40 
42  void initFromPropertyTree(const std::string& _name, const boost::property_tree::ptree& _pt);
43 
44  EConditionType getCondition() const;
45  EActionType getAction() const;
46  const std::string& getArgument() const;
47 
48  void setAction(EActionType _action);
49  void setCondition(EConditionType _condition);
50  void setArgument(const std::string& _argument);
51 
54  virtual std::string toString() const;
55 
59  friend std::ostream& operator<<(std::ostream& _strm, const CTrigger& _trigger);
60 
61  private:
62  EActionType m_action;
63  EConditionType m_condition;
64  std::string m_argument;
65  };
66 
67  typedef std::shared_ptr<CTrigger> TriggerPtr_t;
68  typedef std::vector<TriggerPtr_t> TriggerPtrVector_t;
69  }
70 }
71 
72 #endif /* defined(__DDS__Trigger__) */
Definition: TopoBase.h:35
std::vector< TriggerPtr_t > TriggerPtrVector_t
Definition: Trigger.h:68
Definition: dds-agent/src/AgentConnectionManager.h:18
std::shared_ptr< CTrigger > TriggerPtr_t
Definition: Trigger.h:67
EActionType
Definition: Trigger.h:24
EConditionType
Definition: Trigger.h:18
Data class to hold task trigger.
Definition: Trigger.h:32
std::ostream & operator<<(std::ostream &_out, EAgentCmdType &_agentCmd)
Definition: dds-agent-cmd/src/Options.h:45