YARP
Yet Another Robot Platform
data.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef YARP_MANAGER_DATA
7 #define YARP_MANAGER_DATA
8 
10 #include <yarp/manager/node.h>
11 #include <yarp/manager/utility.h>
12 #include <yarp/conf/api.h>
13 
14 
15 namespace yarp {
16 namespace manager {
17 
18 
22 class InputData : public Node{
23 
24 public:
25  InputData();
26  InputData(const char* szName);
27  InputData(const InputData &input);
28  ~InputData() override;
29  Node* clone() override;
30  void setName(const char* szName) {
31  if(szName){
32  strName = szName;
33  }
34  }
35  const char* getName() { return strName.c_str(); }
36  void setPort(const char* szPort) { if(szPort) { strPort = szPort; } }
37  const char* getPort() { return strPort.c_str(); }
38  void setCarrier(const char* szCr) { if(szCr) { carrier = szCr; } }
39  const char* getCarrier() { return carrier.c_str(); }
40  void setPriority(bool prio) { bWithPriority = prio; }
41  void setRequired(bool req) { bRequired = req; }
42  bool isRequired() { return bRequired; }
43  bool withPriority() { return bWithPriority; }
44  void setDescription(const char* szDesc) { if(szDesc) { strDescription = szDesc; } }
45  const char* getDescription() { return strDescription.c_str(); }
46  void setPortType(NodeType type) { portType = type; }
47  NodeType getPortType() { return portType; }
48  void setOwner(Node* owner) { modOwner = owner; }
49  Node* owner() { return modOwner; }
50 
51  bool operator==(const InputData& input) const {
52  return (strName == input.strName);
53  }
54 
55 protected:
56 
57 private:
58  std::string strName;
59  std::string strPort;
60  std::string carrier;
61  std::string strDescription;
62  bool bWithPriority;
63  bool bRequired;
64  Node* modOwner;
65  NodeType portType;
66 };
67 
68 
69 class OutputData : public Node{
70 
71 public:
72  OutputData();
73  OutputData(const char* szName);
74  OutputData(const OutputData &input);
75  ~OutputData() override;
76  Node* clone() override;
77  void setName(const char* szName) {
78  if(szName){
79  strName = szName;
80  }
81  }
82  const char* getName() { return strName.c_str(); }
83  void setPort(const char* szPort) { if(szPort) { strPort = szPort; } }
84  const char* getPort() { return strPort.c_str(); }
85  void setCarrier(const char* szCr) { if(szCr) { carrier = szCr; } }
86  const char* getCarrier() { return carrier.c_str(); }
87  void setDescription(const char* szDesc) { if(szDesc) { strDescription = szDesc; } }
88  const char* getDescription() { return strDescription.c_str(); }
89  void setPortType(NodeType type) { portType = type; }
90  NodeType getPortType() { return portType; }
91 
92  void setOwner(Node* owner) { modOwner = owner; }
93  Node* owner() { return modOwner; }
94 
95 
96  bool operator==(const OutputData& output) const {
97  return (strName == output.strName);
98  }
99 
100 protected:
101 
102 private:
103  std::string strName;
104  std::string strPort;
105  std::string carrier;
106  std::string strDescription;
107  Node* modOwner;
108  NodeType portType;
109 };
110 
111 } // namespace yarp
112 } // namespace manager
113 
114 
115 #endif // __YARP_MANAGER_MODULE__
Class InputData.
Definition: data.h:22
const char * getPort()
Definition: data.h:37
void setPriority(bool prio)
Definition: data.h:40
const char * getName()
Definition: data.h:35
void setDescription(const char *szDesc)
Definition: data.h:44
void setRequired(bool req)
Definition: data.h:41
const char * getCarrier()
Definition: data.h:39
void setName(const char *szName)
Definition: data.h:30
void setPortType(NodeType type)
Definition: data.h:46
Node * clone() override
Definition: data.cpp:46
void setOwner(Node *owner)
Definition: data.h:48
void setPort(const char *szPort)
Definition: data.h:36
bool operator==(const InputData &input) const
Definition: data.h:51
NodeType getPortType()
Definition: data.h:47
const char * getDescription()
Definition: data.h:45
void setCarrier(const char *szCr)
Definition: data.h:38
InputData()
Class InputData.
Definition: data.cpp:13
a Node of a Graph
Definition: node.h:65
const char * getName()
Definition: data.h:82
NodeType getPortType()
Definition: data.h:90
void setCarrier(const char *szCr)
Definition: data.h:85
void setPortType(NodeType type)
Definition: data.h:89
void setName(const char *szName)
Definition: data.h:77
OutputData()
Class OutputData.
Definition: data.cpp:58
const char * getCarrier()
Definition: data.h:86
void setOwner(Node *owner)
Definition: data.h:92
Node * clone() override
Definition: data.cpp:87
const char * getDescription()
Definition: data.h:88
void setDescription(const char *szDesc)
Definition: data.h:87
bool operator==(const OutputData &output) const
Definition: data.h:96
void setPort(const char *szPort)
Definition: data.h:83
const char * getPort()
Definition: data.h:84
enum yarp::manager::__NodeType NodeType
The main, catch-all namespace for YARP.
Definition: dirs.h:16