Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
DefaultNodeRegistry.hxx
Go to the documentation of this file.
1
35#ifndef _OPENLCB_DEFAULTNODEREGISTRY_HXX_
36#define _OPENLCB_DEFAULTNODEREGISTRY_HXX_
37
38#include <set>
39
41
42namespace openlcb
43{
44
45class Node;
46
48{
49public:
52 void register_node(openlcb::Node *node) override
53 {
54 nodes_.insert(node);
55 }
56
59 void unregister_node(openlcb::Node *node) override
60 {
61 nodes_.erase(node);
62 }
63
67 bool is_node_registered(openlcb::Node *node) override
68 {
69 return nodes_.find(node) != nodes_.end();
70 }
71
72private:
73 std::set<Node *> nodes_;
74};
75
76} // namespace openlcb
77
78#endif // _OPENLCB_DEFAULTNODEREGISTRY_HXX_
Node information.
Definition Devtab.hxx:549
bool is_node_registered(openlcb::Node *node) override
Checks if a node is registered.
void unregister_node(openlcb::Node *node) override
Removes a node from the list of registered nodes.
void register_node(openlcb::Node *node) override
Adds a node to the list of registered nodes.
Base class for NMRAnet nodes conforming to the asynchronous interface.
Definition Node.hxx:52