NDS3
1.0.0
API reference manual
|
Enumerations | |
enum | nds::nodeType_t { nds::nodeType_t::generic, nds::nodeType_t::inputChannel, nds::nodeType_t::outputChannel, nds::nodeType_t::dataSourceChannel, nds::nodeType_t::dataSinkChannel, nds::nodeType_t::stateMachine } |
Defines the nodes' roles in the tree structure: it is used to build the node's external name when using the Naming rules. More... | |
enum | nds::inputPvType_t { nds::inputPvType_t::generic, nds::inputPvType_t::getLocalState, nds::inputPvType_t::getGlobalState } |
Defines an input PV's role: this information is used to build the PV's external name when using the Naming rules. More... | |
enum | nds::outputPvType_t { nds::outputPvType_t::generic, nds::outputPvType_t::setLocalState } |
Defines an output PV's role: this information is used to build the PV's external name when using the Naming rules. More... | |
Functions | |
void | nds::Base::setExternalName (const std::string &externalName) |
Set the string to pass to the naming rules in order to build the full node name as seen by the control system. More... | |
const std::string & | nds::Base::getComponentName () const |
Return the node's name. More... | |
const std::string & | nds::Base::getFullName () const |
Return the full node's name, prepending the parents' names if necessary (e.g. "ROOT-CHANNEL1-THISNODE") More... | |
const std::string & | nds::Base::getFullExternalName () const |
Return the full node's name as seen by the control system clients. More... | |
const std::string & | nds::Base::getFullNameFromPort () const |
Return the node's name as seen by the parent Port node (the node that communicates with the device). More... | |
Each node or PV of a device has a "component name" that identifies the node within its siblings with the same parent, and a "full name" that uniquely identifies the node in the device.
The full name is calculated by prepending all the parents' names to the component name.
Let's consider the following structure of nodes (each line represents a node, the indentation shows the position in the tree structure):
The structure shows that there are two nodes with the name "Data", but their full name differs: the first node has the full name "rootNode-AcquisitionNode0-Data" while the second node has the full name "rootNode-AcquisitionNode1-Data".
Internally NDS always separates the component names with a dash ("-").
Each node can be exposed to the control system by using a name that is different from the internal name.
For each node you can set the external name via nds::Base::setExternalName(). The default value of the external name is the same as the component name.
The external name is also processed by the Naming rules in order to calculate the full name with which the node is exposed to the control system.
|
strong |
Defines an input PV's role: this information is used to build the PV's external name when using the Naming rules.
Enumerator | |
---|---|
generic |
The PV's role is not specified. |
getLocalState |
The PV is used to retrieve the local state of a state machine. |
getGlobalState |
The PV is used to retrieve the global state. |
|
strong |
Defines the nodes' roles in the tree structure: it is used to build the node's external name when using the Naming rules.
|
strong |
Defines an output PV's role: this information is used to build the PV's external name when using the Naming rules.
Enumerator | |
---|---|
generic |
The PV's role is not specified. |
setLocalState |
The PV is used to change the local state of a state machine. |
const std::string& nds::Base::getComponentName | ( | ) | const |
Return the node's name.
const std::string& nds::Base::getFullExternalName | ( | ) | const |
Return the full node's name as seen by the control system clients.
The external name is calculated from the node's full name (see getFullName) by applying the rules specified in the naming rules.
const std::string& nds::Base::getFullName | ( | ) | const |
Return the full node's name, prepending the parents' names if necessary (e.g. "ROOT-CHANNEL1-THISNODE")
const std::string& nds::Base::getFullNameFromPort | ( | ) | const |
Return the node's name as seen by the parent Port node (the node that communicates with the device).
For instance, for a record "TIME" contained in the channel "CH0" that is part of an Port named "DEVICE" the return value will be "CH0-TIME": node that the "DEVICE" part is missing.
void nds::Base::setExternalName | ( | const std::string & | externalName | ) |
Set the string to pass to the naming rules in order to build the full node name as seen by the control system.
If this method is not called then the external name is the same as the node name.
externalName | the name of the node to pass to the naming rules |