Implementation of basic instGraph node interface for MagAO-X. More...
#include <xigNode.hpp>


Public Member Functions | |
| xigNode ()=delete | |
| xigNode (const std::string &name, ingr::instGraphXML *parentGraph) | |
| Constructor. | |
| std::string | name () |
| Get the name of this node. | |
| const std::set< std::string > & | keys () |
| Get the set holding the INDI keys for this node. | |
| void | key (const std::string &nkey) |
| Add a key to the set. | |
| ingr::instNode * | node () |
| Get the pointer to the underlying node. | |
| virtual int | handleSetProperty (const pcf::IndiProperty &ipRecv)=0 |
| INDI SetProperty callback. | |
| virtual void | togglePutsOn () |
| Change the state of all inputs and all outputs to on. | |
| virtual void | togglePutsOff () |
| Change the state of all inputs and all outputs to off. | |
Protected Attributes | |
| std::set< std::string > | m_keys |
| The INDI keys (device.property) which this node subscribes to. | |
| ingr::instGraphXML * | m_parentGraph { nullptr } |
| The parent instGraph that this node is a part of. | |
| ingr::instNode * | m_node { nullptr } |
| The underlying instGraph node. | |
| int | m_changes { 0 } |
| Counter that can be incremented when changes are detected. Set to 0 when graph is updated. | |
Implementation of basic instGraph node interface for MagAO-X.
This class is pure virtual, derived classes must implement handleSetProperty.
Definition at line 30 of file xigNode.hpp.
|
delete |
|
inline |
Constructor.
Default c'tor is deleted. Must supply both node name and a parentGraph with a node with the same name in it.
| [in] | name | the name of the node |
| [in] | parentGraph | the parent instGraph |
Definition at line 94 of file xigNode.hpp.
References m_node, m_parentGraph, name(), and XIGN_EXCEPTION.
|
pure virtual |
INDI SetProperty callback.
This is a pure virtual function in xigNode.
| [in] | ipRecv | the received INDI property to handle |
Implemented in fsmNode, indiPropNode, pwrOnOffNode, staticNode, stdMotionNode, and test_xigNode.
|
inline |
Add a key to the set.
Definition at line 116 of file xigNode.hpp.
References m_keys.
Referenced by fsmNode::device(), stdMotionNode::device(), stdMotionNode::presetPrefix(), indiPropNode::propKey(), pwrOnOffNode::pwrKey(), SCENARIO(), stdMotionNode::trackerKey(), and stdMotionNode::trackingReqKey().
|
inline |
Get the set holding the INDI keys for this node.
Definition at line 111 of file xigNode.hpp.
References m_keys.
Referenced by SCENARIO().
|
inline |
Get the name of this node.
Definition at line 106 of file xigNode.hpp.
References m_node.
Referenced by xigNode(), fsmNode::device(), fsmNode::fsmElName(), fsmNode::fsmPropName(), fsmNode::loadConfig(), indiPropNode::loadConfig(), pwrOnOffNode::loadConfig(), staticNode::loadConfig(), stdMotionNode::loadConfig(), fsmNode::loadConfigDerived(), SCENARIO(), SCENARIO(), SCENARIO(), SCENARIO(), SCENARIO(), TEST_CASE(), TEST_CASE(), stdMotionNode::togglePutsOff(), and stdMotionNode::togglePutsOn().
|
inline |
Get the pointer to the underlying node.
Definition at line 121 of file xigNode.hpp.
References m_node.
Referenced by SCENARIO(), SCENARIO(), SCENARIO(), SCENARIO(), SCENARIO(), TEST_CASE(), and TEST_CASE().
|
inlinevirtual |
Change the state of all inputs and all outputs to off.
Reimplemented in staticNode, and stdMotionNode.
Definition at line 141 of file xigNode.hpp.
References m_node.
Referenced by fsmNode::handleSetProperty(), indiPropNode::toggleOff(), and pwrOnOffNode::toggleOff().
|
inlinevirtual |
Change the state of all inputs and all outputs to on.
Reimplemented in staticNode, and stdMotionNode.
Definition at line 126 of file xigNode.hpp.
References m_node.
Referenced by fsmNode::handleSetProperty(), indiPropNode::toggleOn(), pwrOnOffNode::toggleOn(), and stdMotionNode::togglePutsOn().
|
protected |
Counter that can be incremented when changes are detected. Set to 0 when graph is updated.
Definition at line 39 of file xigNode.hpp.
Referenced by fsmNode::handleSetProperty(), indiPropNode::handleSetProperty(), and stdMotionNode::handleSetProperty().
|
protected |
The INDI keys (device.property) which this node subscribes to.
Definition at line 33 of file xigNode.hpp.
|
protected |
The underlying instGraph node.
Definition at line 37 of file xigNode.hpp.
Referenced by indiPropNode::indiPropNode(), pwrOnOffNode::pwrOnOffNode(), xigNode(), fsmNode::handleSetProperty(), indiPropNode::handleSetProperty(), stdMotionNode::handleSetProperty(), fsmNode::loadConfigDerived(), name(), node(), pwrOnOffNode::toggleOff(), pwrOnOffNode::toggleOn(), staticNode::togglePutsAll(), stdMotionNode::togglePutsOff(), togglePutsOff(), stdMotionNode::togglePutsOn(), and togglePutsOn().
|
protected |
The parent instGraph that this node is a part of.
Definition at line 35 of file xigNode.hpp.
Referenced by indiPropNode::indiPropNode(), pwrOnOffNode::pwrOnOffNode(), xigNode(), fsmNode::handleSetProperty(), indiPropNode::handleSetProperty(), fsmNode::loadConfig(), indiPropNode::loadConfig(), pwrOnOffNode::loadConfig(), staticNode::loadConfig(), stdMotionNode::loadConfig(), fsmNode::loadConfigDerived(), pwrOnOffNode::toggleOff(), pwrOnOffNode::toggleOn(), stdMotionNode::togglePutsOff(), and stdMotionNode::togglePutsOn().