DDS  ver. 2.0
Requirement.h
Go to the documentation of this file.
1 // Copyright 2014 GSI, Inc. All rights reserved.
2 //
3 //
4 //
5 
6 #ifndef __DDS__Requirement__
7 #define __DDS__Requirement__
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 ERequirementType
19  {
20  WnName,
21  HostName,
22  Gpu
23  };
24 
27  class CRequirement : public CTopoBase
28  {
29  public:
31  CRequirement();
32 
34  virtual ~CRequirement();
35 
37  void initFromPropertyTree(const std::string& _name, const boost::property_tree::ptree& _pt);
38 
39  const std::string& getValue() const;
40  ERequirementType getRequirementType() const;
41 
42  void setValue(const std::string& _value);
43  void setRequirementType(ERequirementType _requireemntType);
44 
47  virtual std::string toString() const;
48 
52  friend std::ostream& operator<<(std::ostream& _strm, const CRequirement& _requirement);
53 
54  private:
55  std::string m_value;
56  ERequirementType m_requirementType;
57  };
58 
59  typedef std::shared_ptr<CRequirement> RequirementPtr_t;
60  typedef std::vector<RequirementPtr_t> RequirementPtrVector_t;
61  }
62 }
63 
64 #endif /* defined(__DDS__Requirement__) */
Definition: TopoBase.h:35
std::shared_ptr< CRequirement > RequirementPtr_t
Definition: Requirement.h:59
Definition: dds-agent/src/AgentConnectionManager.h:18
Definition: Requirement.h:27
ERequirementType
Definition: Requirement.h:18
std::vector< RequirementPtr_t > RequirementPtrVector_t
Definition: Requirement.h:60
std::ostream & operator<<(std::ostream &_out, EAgentCmdType &_agentCmd)
Definition: dds-agent-cmd/src/Options.h:45