IDS peak genericC++ v1.12.0
Loading...
Searching...
No Matches
peak::core::nodes::RegisterNode Class Reference

Represents a GenAPI register node. More...

#include <peak/node_map/peak_register_node.hpp>

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

Public Types

using NodeDataType = std::vector<uint8_t>
 
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

 RegisterNode ()=delete
 
 ~RegisterNode () override=default
 
 RegisterNode (const RegisterNode &other)=delete
 
RegisterNode & operator= (const RegisterNode &other)=delete
 
 RegisterNode (RegisterNode &&other)=delete
 
RegisterNode & operator= (RegisterNode &&other)=delete
 
uint64_t Address () const
 Returns the address.
 
size_t Length () const
 Returns the length.
 
std::vector< uint8_t > Read (size_t numBytes, NodeCacheUsePolicy cacheUsePolicy=NodeCacheUsePolicy::UseCache) const
 Reads a given amount of bytes.
 
void Write (const std::vector< uint8_t > &bytes)
 Writes a given amount of bytes.
 
void Write (const uint8_t *bytes, size_t size)
 Writes a given amount of bytes.
 
- 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
 
std::string Name () const
 Returns the name.
 
std::string DisplayName () const
 Returns the display name.
 
NodeNamespace Namespace () const
 Returns the namespace the node belongs to.
 
NodeVisibility Visibility () const
 Returns the visibility.
 
NodeAccessStatus AccessStatus () const
 Returns the access status.
 
bool IsReadable () const
 Returns whether the node is currently readable.
 
bool IsWriteable () const
 Returns whether the node is currently writeable.
 
bool IsAvailable () const
 Returns whether the node is currently either readable or writeable.
 
bool IsImplemented () const
 Returns whether the node is implemented.
 
bool IsCacheable () const
 Checks whether the node is cacheable.
 
bool IsAccessStatusCacheable () const
 Checks whether the node's access status is cacheable.
 
bool IsStreamable () const
 Checks whether the node is streamable.
 
bool IsDeprecated () const
 Checks whether the node is deprecated.
 
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".
 
NodeCachingMode CachingMode () const
 Returns the caching mode.
 
int64_t PollingTime () const
 Returns the polling time.
 
std::string ToolTip () const
 Returns the tool tip.
 
std::string Description () const
 Returns the description.
 
NodeType Type () const
 Returns the type.
 
std::shared_ptr< NodeMap > ParentNodeMap () const
 Returns the parent node map.
 
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>
std::shared_ptr< NodeType > FindInvalidatedNode (const std::string &name) const
 Tries to find an invalidated node with the given name and type.
 
std::vector< std::shared_ptr< Node > > InvalidatedNodes () const
 Returns the invalidated nodes.
 
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>
std::shared_ptr< NodeType > FindInvalidatingNode (const std::string &name) const
 Tries to find an invalidating node with the given name and type.
 
std::vector< std::shared_ptr< Node > > InvalidatingNodes () const
 Returns the invalidating nodes.
 
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>
std::shared_ptr< NodeType > FindSelectedNode (const std::string &name) const
 Tries to find a selected node with the given name and type.
 
std::vector< std::shared_ptr< Node > > SelectedNodes () const
 Returns the selected nodes.
 
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>
std::shared_ptr< NodeType > FindSelectingNode (const std::string &name) const
 Tries to find a selecting node with the given name and type.
 
std::vector< std::shared_ptr< Node > > SelectingNodes () const
 Returns the selecting nodes.
 
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::Register
 

Detailed Description

Represents a GenAPI register node.

Member Typedef Documentation

◆ NodeDataType

using peak::core::nodes::RegisterNode::NodeDataType = std::vector<uint8_t>

◆ NodeHasRange

Constructor & Destructor Documentation

◆ RegisterNode() [1/3]

peak::core::nodes::RegisterNode::RegisterNode ( )
delete

◆ ~RegisterNode()

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

◆ RegisterNode() [2/3]

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

◆ RegisterNode() [3/3]

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

Member Function Documentation

◆ Address()

uint64_t peak::core::nodes::RegisterNode::Address ( ) const
inline

Returns the address.

Returns
Address
Since
1.0
Exceptions
InternalErrorExceptionAn internal error has occurred.

◆ Length()

size_t peak::core::nodes::RegisterNode::Length ( ) const
inline

Returns the length.

Returns
Length
Since
1.0
Exceptions
InternalErrorExceptionAn internal error has occurred.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ Read()

std::vector< uint8_t > peak::core::nodes::RegisterNode::Read ( size_t numBytes,
NodeCacheUsePolicy cacheUsePolicy = NodeCacheUsePolicy::UseCache ) const
inline

Reads a given amount of bytes.

Parameters
[in]numBytesThe amount of bytes to read.
[in]cacheUsePolicyA flag telling whether the value should be read using the internal cache.
Returns
Read bytes
Since
1.0
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

◆ Write() [1/2]

void peak::core::nodes::RegisterNode::Write ( const std::vector< uint8_t > & bytes)
inline

Writes a given amount of bytes.

Parameters
[in]bytesThe bytes to write.
Since
1.0
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

◆ Write() [2/2]

void peak::core::nodes::RegisterNode::Write ( const uint8_t * bytes,
size_t size )
inline

Writes a given amount of bytes.

Parameters
[in]bytesThe bytes to write.
[in]sizeThe size of bytes to write.
Since
1.10
Exceptions
IOExceptionA communication error has occured, e.g. when the device is disconnected.
InternalErrorExceptionAn internal error has occurred.

Member Data Documentation

◆ NodeType

auto peak::core::nodes::RegisterNode::NodeType = nodes::NodeType::Register
staticconstexpr

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