|
Open Model Railroad Network (OpenMRN)
|
Base class for NMRAnet nodes conforming to the asynchronous interface. More...
#include <Node.hxx>
Public Member Functions | |
| virtual NodeID | node_id ()=0 |
| virtual If * | iface ()=0 |
| virtual bool | is_initialized ()=0 |
| virtual void | set_initialized () |
| Callback from the node initialization flow when the node finished initialization. | |
| virtual void | clear_initialized ()=0 |
| Callback from the simple stack when the node has to return to uninitialized state. | |
| void | initialize () |
| Callback from the simple stack to start the initialization process. | |
Base class for NMRAnet nodes conforming to the asynchronous interface.
It is important for this interface to contain no data members, since certain implementations might need to be very lightweight (e.g. a command station might have hundreds of train nodes.)
|
pure virtual |
Callback from the simple stack when the node has to return to uninitialized state.
Implemented in openlcb::DefaultNode, and openlcb::DefaultTrainNode.
| void Node::initialize | ( | ) |
Callback from the simple stack to start the initialization process.
Definition at line 42 of file openlcb/Node.cxx.
|
pure virtual |
Nodes not in initialized state may not send traffic to the bus.
Implemented in openlcb::DefaultNode, and openlcb::DefaultTrainNode.
|
pure virtual |
Implemented in openlcb::TrainNodeForProxy, and openlcb::TrainNodeWithId.
|
inlinevirtual |
Callback from the node initialization flow when the node finished initialization.
Nodes are not required to implement if they are not using NodeInitializationFlow.
Reimplemented in openlcb::DefaultNode, and openlcb::DefaultTrainNode.