IDS peak genericC++ v1.17.0
Loading...
Searching...
No Matches
peak::core::nodes::CommandNode Class Reference

Represents a GenAPI command node. More...

#include <peak/node_map/peak_command_node.hpp>

Inheritance diagram for peak::core::nodes::CommandNode:
peak::core::nodes::Node

Public Types

using NodeDataType = void
using NodeHasRange = std::false_type
Public Types inherited from peak::core::nodes::Node
using ChangedCallback = std::function<void(const std::shared_ptr<Node>& changedNode)>
using ChangedCallbackHandle = ChangedCallback*

Public Member Functions

 CommandNode ()=delete
 ~CommandNode () override=default
 CommandNode (const CommandNode &other)=delete
CommandNode & operator= (const CommandNode &other)=delete
 CommandNode (CommandNode &&other)=delete
CommandNode & operator= (CommandNode &&other)=delete
PEAK_COMMON_NO_DISCARD bool IsDone () const
 Checks whether the command is done.
void Execute ()
 Executes the command associated with this node.
void WaitUntilDone (Timeout waitTimeout_ms=500)
 (Blocking) Wait for the executed command to be finished, i.e. until IsDone() is true.
void ExecuteAndWait (Timeout waitTimeout_ms=500)
 Executes the command associated with this node and waits for the executed command to be finished, i.e. until IsDone() is true.
Public Member Functions inherited from peak::core::nodes::Node
 Node ()=delete
virtual ~Node ()
 Node (const Node &other)=delete
Node & operator= (const Node &other)=delete
 Node (Node &&other)=delete
Node & operator= (Node &&other)=delete
PEAK_COMMON_NO_DISCARD std::string Name () const
 Returns the name.
PEAK_COMMON_NO_DISCARD std::string DisplayName () const
 Returns the display name.
PEAK_COMMON_NO_DISCARD NodeNamespace Namespace () const
 Returns the namespace the node belongs to.
PEAK_COMMON_NO_DISCARD NodeVisibility Visibility () const
 Returns the visibility.
PEAK_COMMON_NO_DISCARD NodeAccessStatus AccessStatus () const
 Returns the access status.
PEAK_COMMON_NO_DISCARD bool IsReadable () const
 Returns whether the node is currently readable.
PEAK_COMMON_NO_DISCARD bool IsWriteable () const
 Returns whether the node is currently writeable.
PEAK_COMMON_NO_DISCARD bool IsAvailable () const
 Returns whether the node is currently either readable or writeable.
PEAK_COMMON_NO_DISCARD bool IsImplemented () const
 Returns whether the node is implemented.
PEAK_COMMON_NO_DISCARD bool IsCacheable () const
 Checks whether the node is cacheable.
PEAK_COMMON_NO_DISCARD bool IsAccessStatusCacheable () const
 Checks whether the node's access status is cacheable.
PEAK_COMMON_NO_DISCARD bool IsStreamable () const
 Checks whether the node is streamable.
PEAK_COMMON_NO_DISCARD bool IsDeprecated () const
 Checks whether the node is deprecated.
PEAK_COMMON_NO_DISCARD bool IsFeature () const
 Checks whether the node is a feature, i.e. it can be reached via category nodes from a category node named "Root".
PEAK_COMMON_NO_DISCARD NodeCachingMode CachingMode () const
 Returns the caching mode.
PEAK_COMMON_NO_DISCARD int64_t PollingTime () const
 Returns the polling time.
PEAK_COMMON_NO_DISCARD std::string ToolTip () const
 Returns the tool tip.
PEAK_COMMON_NO_DISCARD std::string Description () const
 Returns the description.
PEAK_COMMON_NO_DISCARD NodeType Type () const
 Returns the type.
PEAK_COMMON_NO_DISCARD std::shared_ptr< NodeMap > ParentNodeMap () const
 Returns the parent node map.
PEAK_COMMON_NO_DISCARD std::shared_ptr< Node > FindInvalidatedNode (const std::string &name) const
 Tries to find an invalidated node with the given name.
template<class NodeType, typename std::enable_if< std::is_base_of< Node, NodeType >::value, int >::type = 0>
PEAK_COMMON_NO_DISCARD std::shared_ptr< NodeType > FindInvalidatedNode (const std::string &name) const
 Tries to find an invalidated node with the given name and type.
PEAK_COMMON_NO_DISCARD std::vector< std::shared_ptr< Node > > InvalidatedNodes () const
 Returns the invalidated nodes.
PEAK_COMMON_NO_DISCARD std::shared_ptr< Node > FindInvalidatingNode (const std::string &name) const
 Tries to find an invalidating node with the given name.
template<class NodeType, typename std::enable_if< std::is_base_of< Node, NodeType >::value, int >::type = 0>
PEAK_COMMON_NO_DISCARD std::shared_ptr< NodeType > FindInvalidatingNode (const std::string &name) const
 Tries to find an invalidating node with the given name and type.
PEAK_COMMON_NO_DISCARD std::vector< std::shared_ptr< Node > > InvalidatingNodes () const
 Returns the invalidating nodes.
PEAK_COMMON_NO_DISCARD std::shared_ptr< Node > FindSelectedNode (const std::string &name) const
 Tries to find a selected node with the given name.
template<class NodeType, typename std::enable_if< std::is_base_of< Node, NodeType >::value, int >::type = 0>
PEAK_COMMON_NO_DISCARD std::shared_ptr< NodeType > FindSelectedNode (const std::string &name) const
 Tries to find a selected node with the given name and type.
PEAK_COMMON_NO_DISCARD std::vector< std::shared_ptr< Node > > SelectedNodes () const
 Returns the selected nodes.
PEAK_COMMON_NO_DISCARD std::shared_ptr< Node > FindSelectingNode (const std::string &name) const
 Tries to find a selecting node with the given name.
template<class NodeType, typename std::enable_if< std::is_base_of< Node, NodeType >::value, int >::type = 0>
PEAK_COMMON_NO_DISCARD std::shared_ptr< NodeType > FindSelectingNode (const std::string &name) const
 Tries to find a selecting node with the given name and type.
PEAK_COMMON_NO_DISCARD std::vector< std::shared_ptr< Node > > SelectingNodes () const
 Returns the selecting nodes.
PEAK_COMMON_NO_DISCARD ChangedCallbackHandle RegisterChangedCallback (const ChangedCallback &callback)
 Registers a callback for signaling a change to the node.
void UnregisterChangedCallback (ChangedCallbackHandle callbackHandle)
 Unregisters a changed callback.

Static Public Attributes

static constexpr auto NodeType = nodes::NodeType::Command

Detailed Description

Represents a GenAPI command node.

Member Typedef Documentation

◆ NodeDataType

◆ NodeHasRange

Constructor & Destructor Documentation

◆ CommandNode() [1/3]

peak::core::nodes::CommandNode::CommandNode ( )
delete

◆ ~CommandNode()

peak::core::nodes::CommandNode::~CommandNode ( )
overridedefault

◆ CommandNode() [2/3]

peak::core::nodes::CommandNode::CommandNode ( const CommandNode & other)
delete

◆ CommandNode() [3/3]

peak::core::nodes::CommandNode::CommandNode ( CommandNode && other)
delete

Member Function Documentation

◆ Execute()

void peak::core::nodes::CommandNode::Execute ( )
inline

Executes the command associated with this node.

Since
1.0
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

◆ ExecuteAndWait()

void peak::core::nodes::CommandNode::ExecuteAndWait ( Timeout waitTimeout_ms = 500)
inline

Executes the command associated with this node and waits for the executed command to be finished, i.e. until IsDone() is true.

Since
1.17
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

◆ IsDone()

bool peak::core::nodes::CommandNode::IsDone ( ) const
inline

Checks whether the command is done.

Returns
True, if the command is done
False otherwise.
Since
1.0
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

◆ operator=() [1/2]

CommandNode & peak::core::nodes::CommandNode::operator= ( CommandNode && other)
delete

◆ operator=() [2/2]

CommandNode & peak::core::nodes::CommandNode::operator= ( const CommandNode & other)
delete

◆ WaitUntilDone()

void peak::core::nodes::CommandNode::WaitUntilDone ( Timeout waitTimeout_ms = 500)
inline

(Blocking) Wait for the executed command to be finished, i.e. until IsDone() is true.

Parameters
[in]waitTimeout_msThe maximum waiting time in milliseconds.
Since
1.0
Exceptions
TimeoutExceptionThe specified timeout expired without the executed command being finished.
InternalErrorExceptionAn internal error has occurred.

Member Data Documentation

◆ NodeType

auto peak::core::nodes::CommandNode::NodeType = nodes::NodeType::Command
staticconstexpr

The documentation for this class was generated from the following file: