YARP
Yet Another Robot Platform
Nodes.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 #ifndef YARP_OS_NODES_H
10 #define YARP_OS_NODES_H
11 
12 #include <yarp/os/Contactables.h>
13 
14 // forward declarations:
15 namespace yarp {
16 namespace os {
17 class Node;
18 } // namespace os
19 } // namespace yarp
20 
21 namespace yarp {
22 namespace os {
23 
35 {
36 public:
37  Nodes();
38  virtual ~Nodes();
39 
47  void add(Contactable& contactable) override;
48 
53  void remove(Contactable& contactable) override;
54 
61  virtual Contact query(const std::string& name,
62  const std::string& category = "") override;
63 
68  virtual void update(Contactable& contactable);
69 
76  Contact getParent(const std::string& name);
77 
84  Contact getURI(const std::string& name);
85 
92  void prepare(const std::string& name);
93 
97  void interrupt();
98 
105  bool enable(bool flag);
106 
110  void clear();
111 
116  void setActiveName(const std::string& name);
117 
124  void addExternalNode(const std::string& name, Node& node);
125 
130  void removeExternalNode(const std::string& name);
131 
136  std::string getActiveName();
137 
142  bool requireActiveName();
143 
144 #ifndef DOXYGEN_SHOULD_SKIP_THIS
145 private:
146  class Private;
147  Private* mPriv;
148 #endif // DOXYGEN_SHOULD_SKIP_THIS
149 };
150 
151 } // namespace os
152 } // namespace yarp
153 
154 
155 #endif // YARP_OS_NODES_H
YARP_os_API
#define YARP_os_API
Definition: api.h:19
yarp::os::Contactables
The yarp::os::Contactables class.
Definition: Contactables.h:24
yarp::os::Nodes::Private
Definition: Nodes.cpp:21
Contactables.h
yarp::os::Node
The Node class.
Definition: Node.h:27
yarp::os::Nodes
The Nodes class.
Definition: Nodes.h:35
yarp
The main, catch-all namespace for YARP.
Definition: environment.h:18
yarp::os::Contact
Represents how to reach a part of a YARP network.
Definition: Contact.h:39
yarp::os::Contactable
An abstract port.
Definition: Contactable.h:38