Skip to content

Pylon::CArrayParameter#

CArrayParameter class used to simplify access to GenApi parameters.

#include <pylon/ArrayParameter.h>

Inherits from Pylon::IRegisterEx, Pylon::CParameter, GenApi::IRegister, Pylon::IValueEx, GenApi::IValue, GenApi::IBase

Public Functions#

Name
CArrayParameter()
Creates an empty CArrayParameter object.
CArrayParameter(GenApi::INode * pNode)
Creates a CArrayParameter object and attaches it to a node, typically retrieved for a nodemap calling GetNode().
CArrayParameter(GenApi::IRegister * pRegister)
Creates a CArrayParameter object and attaches it to a node of a matching type.
CArrayParameter(GenApi::INodeMap * pNodeMap, const char * pName)
Creates a CArrayParameter object and attaches it to a node retrieved from the provided node map.
CArrayParameter(GenApi::INodeMap & nodeMap, const char * pName)
Creates a CArrayParameter object and attaches it to a node retrieved from the provided node map.
CArrayParameter(const CArrayParameter & rhs)
Copies a CArrayParameter object.
virtual ~CArrayParameter()
Destroys the CArrayParameter object.
virtual bool Attach(GenApi::INodeMap * pNodeMap, const char * pName)
Attaches a node retrieved from the provided node map.
virtual bool Attach(GenApi::INodeMap & nodeMap, const char * pName)
Attaches a node retrieved from the provided node map.
virtual bool Attach(GenApi::INode * pNode)
Attaches a node, typically retrieved for a nodemap calling GetNode().
virtual bool Attach(GenApi::IRegister * pRegister)
Assigns a node of the same type to the parameter object.
CArrayParameter & operator=(const CArrayParameter & rhs)
Assigns a CArrayParameter object.
virtual bool Equals(const CArrayParameter & rhs) const
Returns true if the same nodes are attached or both parameters are empty.
virtual bool Equals(const GenApi::INode * pNode) const
Returns true if the attached node pointer is equal.
virtual bool Equals(const GenApi::IRegister * pRegister) const
Returns true if the attached node pointer is equal.
virtual void Release()
Releases the attached node.
virtual bool IsValid() const
Indicates whether a node is attached.
virtual void Set(const uint8_t * pBuffer, int64_t Length, bool Verify =true)
Set the register's contents.
virtual void Get(uint8_t * pBuffer, int64_t Length, bool Verify =false, bool IgnoreCache =false)
Fills a buffer with the register's contents.
virtual int64_t GetLength()
Retrieves the Length of the register [Bytes].
virtual int64_t GetAddress()
Retrieves the Address of the register.
virtual INode * GetNode()
Get the INode interface of the node.
virtual GenICam::gcstring ToString(bool Verify =false, bool IgnoreCache =false)
Get content of the node as string.
virtual void FromString(const GenICam::gcstring & ValueStr, bool Verify =true)
Set content of the node as string.
virtual bool IsValueCacheValid() const
Checks if the value comes from cache or is requested from another node.
virtual EAccessMode GetAccessMode() const
Get the access mode of the node.
virtual bool IsReadable() const
Indicates whether the parameter is readable.
virtual bool IsWritable() const
Indicates whether the parameter is writable.
virtual String_t GetInfo(EParameterInfo info)
Gets the parameter information.
virtual String_t GetInfoOrDefault(EParameterInfo info, const String_t defaultInfo)
Gets the parameter information if the parameter is attached to a node.
virtual String_t ToStringOrDefault(const String_t & defaultValue)
Gets the parameter value as string if the parameter is readable.
virtual bool Attach(GenApi::IValue * pValue)
Assigns a node of the same type to the parameter object.
virtual bool Equals(const CParameter & rhs) const
Returns true if the same nodes are attached or both parameters are empty.
virtual bool Equals(const GenApi::IValue * pValue) const
Returns true if the attached node pointer is equal.
virtual GenApi::EAccessMode GetAccessMode() const
Get the access mode of the node.
virtual GenApi::INode * GetNode()
Get the INode interface of the node.
virtual GenICam::gcstring ToString(bool Verify =false, bool IgnoreCache =false)
Get content of the node as string.
virtual void FromString(const GenICam::gcstring & ValueStr, bool Verify =true)
Set content of the node as string.
virtual bool IsValueCacheValid() const
Checks if the value comes from cache or is requested from another node.
virtual bool IsReadable() const
Indicates whether the parameter is readable.
virtual bool IsWritable() const
Indicates whether the parameter is writable.
virtual String_t GetInfo(EParameterInfo info)
Gets the parameter information.
virtual String_t GetInfoOrDefault(EParameterInfo info, const String_t defaultInfo)
Gets the parameter information if the parameter is attached to a node.
virtual String_t ToStringOrDefault(const String_t & defaultValue)
Gets the parameter value as string if the parameter is readable.

Protected Attributes#

Name
GenApi::IRegister * m_pFeature
GenApi::IValue * m_pValue

Additional inherited members#

Public Functions inherited from Pylon::CParameter

Name
CParameter()
Creates an empty CParameter object.
CParameter(GenApi::INode * pNode)
Creates a CParameter object and attaches it to a node, typically retrieved for a nodemap calling GetNode().
CParameter(GenApi::IValue * pValue)
Creates a CParameter object and attaches it to a node of a matching type.
CParameter(GenApi::INodeMap * pNodeMap, const char * pName)
Creates a CParameter object and attaches it to a node retrieved from the provided node map.
CParameter(GenApi::INodeMap & nodeMap, const char * pName)
Creates a CParameter object and attaches it to a node retrieved from the provided node map.
CParameter(const CParameter & rhs)
Copies a CParameter object.
virtual ~CParameter()
Destroys the CParameter object.

Public Functions inherited from GenApi::IBase

Name
virtual ~IBase()
Virtual destructor enforcing virtual destructor on all derived classes.

Public Functions Documentation#

CArrayParameter#

CArrayParameter()

Creates an empty CArrayParameter object.

Error Safety:

Does not throw C++ exceptions.

CArrayParameter#

explicit CArrayParameter(
    GenApi::INode * pNode
)

Creates a CArrayParameter object and attaches it to a node, typically retrieved for a nodemap calling GetNode().

Parameters:

  • pNode The node to attach.

Postcondition:

  • If the passed node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the passed node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the source of the attached pNode has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

Does not throw C++ exceptions.

CArrayParameter#

explicit CArrayParameter(
    GenApi::IRegister * pRegister
)

Creates a CArrayParameter object and attaches it to a node of a matching type.

Parameters:

  • pRegister The node to attach.

Postcondition: The parameter object must not be used to access the node's functionality if the source of the attached pRegister has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

Does not throw C++ exceptions.

CArrayParameter#

CArrayParameter(
    GenApi::INodeMap * pNodeMap,
    const char * pName
)

Creates a CArrayParameter object and attaches it to a node retrieved from the provided node map.

Parameters:

  • pNodeMap The node map. The source of the parameter.
  • pName The name of the parameter to attach.

Postcondition:

  • If pNodeMap or name is NULL, the parameter will be empty, see IsValid().
  • If the node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the provided node map has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

The call to GenApi::INodeMap::GetNode can throw C++ exceptions.

CArrayParameter#

CArrayParameter(
    GenApi::INodeMap & nodeMap,
    const char * pName
)

Creates a CArrayParameter object and attaches it to a node retrieved from the provided node map.

Parameters:

  • nodeMap The node map. The source of the parameter.
  • pName The name of the parameter to attach.

Postcondition:

  • If name is NULL, the parameter will be empty, see IsValid().
  • If the node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the provided node map has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

The call to GenApi::INodeMap::GetNode can throw C++ exceptions.

CArrayParameter#

CArrayParameter(
    const CArrayParameter & rhs
)

Copies a CArrayParameter object.

Parameters:

  • rhs The object to copy.

Error Safety:

Does not throw C++ exceptions.

~CArrayParameter#

virtual ~CArrayParameter()

Destroys the CArrayParameter object.

Error Safety:

Does not throw C++ exceptions.

Does not access the attached node.

Attach#

virtual bool Attach(
    GenApi::INodeMap * pNodeMap,
    const char * pName
)

Attaches a node retrieved from the provided node map.

Parameters:

  • pNodeMap The node map. The source of the parameter.
  • pName The name of the parameter to attach.

Return: Returns true if the node has been attached.

Postcondition:

  • If pNodeMap or name is NULL, the parameter will be empty, see IsValid().
  • If the node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the provided node map has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

The call to GenApi::INodeMap::GetNode can throw C++ exceptions.

Reimplements: Pylon::CParameter::Attach

Attach#

virtual bool Attach(
    GenApi::INodeMap & nodeMap,
    const char * pName
)

Attaches a node retrieved from the provided node map.

Parameters:

  • nodeMap The node map. The source of the parameter.
  • pName The name of the parameter to attach.

Return: Returns true if the node has been attached.

Postcondition:

  • If name is NULL the parameter will be empty, see IsValid().
  • If the node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the provided node map has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

The call to GenApi::INodeMap::GetNode can throw C++ exceptions.

Reimplements: Pylon::CParameter::Attach

Attach#

virtual bool Attach(
    GenApi::INode * pNode
)

Attaches a node, typically retrieved for a nodemap calling GetNode().

Parameters:

  • pNode The node to assign.

Return: Returns true if the node has been attached.

Postcondition:

  • If the node does not match the parameter type, the parameter will be empty, see IsValid().
  • If the node does match the parameter type, it is attached and the parameter object can be used to access the node's functionality.
  • The parameter object must not be used to access the node's functionality if the source of the attached pNode has been destroyed. In this case, call Release() or attach a new node.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CParameter::Attach

Attach#

virtual bool Attach(
    GenApi::IRegister * pRegister
)

Assigns a node of the same type to the parameter object.

Parameters:

  • pRegister The node to assign.

Return: Returns true if the node has been attached.

Error Safety:

Does not throw C++ exceptions.

operator=#

CArrayParameter & operator=(
    const CArrayParameter & rhs
)

Assigns a CArrayParameter object.

Parameters:

  • rhs The object to assign.

Error Safety:

Does not throw C++ exceptions.

Equals#

virtual bool Equals(
    const CArrayParameter & rhs
) const

Returns true if the same nodes are attached or both parameters are empty.

Parameters:

  • rhs The object to compare to.

Return: Returns true if the same nodes are attached or both parameters are empty.

Error Safety:

Does not throw C++ exceptions.

Equals#

virtual bool Equals(
    const GenApi::INode * pNode
) const

Returns true if the attached node pointer is equal.

Parameters:

  • pNode The node to compare to.

Return: Returns true if the attached node pointer is equal.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CParameter::Equals

Equals#

virtual bool Equals(
    const GenApi::IRegister * pRegister
) const

Returns true if the attached node pointer is equal.

Parameters:

  • pRegister The node to compare to.

Return: Returns true if the attached node pointer is equal.

Error Safety:

Does not throw C++ exceptions.

Release#

virtual void Release()

Releases the attached node.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CParameter::Release

IsValid#

virtual bool IsValid() const

Indicates whether a node is attached.

Return: Returns true if a node is attached.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CParameter::IsValid

Set#

virtual void Set(
    const uint8_t * pBuffer,
    int64_t Length,
    bool Verify =true
)

Set the register's contents.

Parameters:

  • pBuffer The buffer containing the data to set
  • Length The number of bytes in pBuffer
  • Verify Enables AccessMode and Range verification (default = true)

Reimplements: GenApi::IRegister::Set

Get#

virtual void Get(
    uint8_t * pBuffer,
    int64_t Length,
    bool Verify =false,
    bool IgnoreCache =false
)

Fills a buffer with the register's contents.

Parameters:

  • pBuffer The buffer receiving the data to read
  • Length The number of bytes to retrieve
  • Verify Enables Range verification (default = false). The AccessMode is always checked
  • IgnoreCache If true the value is read ignoring any caches (default = false)

Reimplements: GenApi::IRegister::Get

GetLength#

virtual int64_t GetLength()

Retrieves the Length of the register [Bytes].

Reimplements: GenApi::IRegister::GetLength

GetAddress#

virtual int64_t GetAddress()

Retrieves the Address of the register.

Reimplements: GenApi::IRegister::GetAddress

GetNode#

inline virtual INode * GetNode()

Get the INode interface of the node.

Reimplemented by: Pylon::CArrayParameter::GetNode

ToString#

virtual GenICam::gcstring ToString(
    bool Verify =false,
    bool IgnoreCache =false
) 

Get content of the node as string.

Parameters:

  • Verify Enables Range verification (default = false). The AccessMode is always checked
  • IgnoreCache If true the value is read ignoring any caches (default = false)

Return: The value read

Reimplemented by: Pylon::CArrayParameter::ToString

FromString#

virtual void FromString(
    const GenICam::gcstring & ValueStr,
    bool Verify =true
) 

Set content of the node as string.

Parameters:

  • ValueStr The value to set
  • Verify Enables AccessMode and Range verification (default = true)

Reimplemented by: Pylon::CArrayParameter::FromString

IsValueCacheValid#

virtual bool IsValueCacheValid() const 

Checks if the value comes from cache or is requested from another node.

Reimplemented by: Pylon::CArrayParameter::IsValueCacheValid

GetAccessMode#

virtual EAccessMode GetAccessMode() const 

Get the access mode of the node.

Reimplemented by: Pylon::CArrayParameter::GetAccessMode

IsReadable#

virtual bool IsReadable() const 

Indicates whether the parameter is readable.

Return: Returns true if the parameter is readable.

Error Safety:

Does not throw C++ exceptions.

Reimplemented by: Pylon::CArrayParameter::IsReadable

IsWritable#

virtual bool IsWritable() const 

Indicates whether the parameter is writable.

Return: Returns true if the parameter is writable.

Error Safety:

Does not throw C++ exceptions.

Reimplemented by: Pylon::CArrayParameter::IsWritable

GetInfo#

virtual String_t GetInfo(
    EParameterInfo info
) 

Gets the parameter information.

Parameters:

  • info The type information to return.

Return: Returns the parameter information.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Throws an exception if no node is attached. Can throw exceptions if the retrieval of the information fails.

Reimplemented by: Pylon::CArrayParameter::GetInfo

GetInfoOrDefault#

virtual String_t GetInfoOrDefault(
    EParameterInfo info,
    const String_t defaultInfo
) 

Gets the parameter information if the parameter is attached to a node.

Parameters:

  • info The type information to return. Otherwise returns the default information. This method is useful if you want to display parameter information and handle the case that some parameters are not available for a device.
  • defaultInfo The default information returned if the parameter is not attached to a node.

Return: Returns the parameter information if the parameter is attached to a node. Otherwise returns the default information.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Can throw exceptions if the retrieval of the information fails.

Reimplemented by: Pylon::CArrayParameter::GetInfoOrDefault

See IsValid().

ToStringOrDefault#

virtual String_t ToStringOrDefault(
    const String_t & defaultValue
) 

Gets the parameter value as string if the parameter is readable.

Parameters:

  • defaultValue The default value returned if the parameter is not readable.

Return: Returns the parameter value if the parameter is readable. Otherwise returns the default value.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Can throw exceptions if reading the value fails.

Reimplemented by: Pylon::CArrayParameter::ToStringOrDefault

Otherwise returns the default value.

Attach#

virtual bool Attach(
    GenApi::IValue * pValue
)

Assigns a node of the same type to the parameter object.

Parameters:

  • pValue The node to assign.

Return: Returns true if the node has been attached.

Error Safety:

Does not throw C++ exceptions.

Equals#

virtual bool Equals(
    const CParameter & rhs
) const

Returns true if the same nodes are attached or both parameters are empty.

Parameters:

  • rhs The object to compare to.

Return: Returns true if the same nodes are attached or both parameters are empty.

Error Safety:

Does not throw C++ exceptions.

Equals#

virtual bool Equals(
    const GenApi::IValue * pValue
) const

Returns true if the attached node pointer is equal.

Parameters:

  • pValue The node to compare to.

Return: Returns true if the attached node pointer is equal.

Error Safety:

Does not throw C++ exceptions.

GetAccessMode#

virtual GenApi::EAccessMode GetAccessMode() const

Get the access mode of the node.

Reimplements: GenApi::IBase::GetAccessMode

GetNode#

virtual GenApi::INode * GetNode()

Get the INode interface of the node.

Reimplements: GenApi::IBoolean::GetNode

ToString#

virtual GenICam::gcstring ToString(
    bool Verify =false,
    bool IgnoreCache =false
)

Get content of the node as string.

Parameters:

  • Verify Enables Range verification (default = false). The AccessMode is always checked
  • IgnoreCache If true the value is read ignoring any caches (default = false)

Return: The value read

Reimplements: GenApi::IBoolean::ToString

FromString#

virtual void FromString(
    const GenICam::gcstring & ValueStr,
    bool Verify =true
)

Set content of the node as string.

Parameters:

  • ValueStr The value to set
  • Verify Enables AccessMode and Range verification (default = true)

Reimplements: GenApi::IBoolean::FromString

IsValueCacheValid#

virtual bool IsValueCacheValid() const

Checks if the value comes from cache or is requested from another node.

Reimplements: GenApi::IBoolean::IsValueCacheValid

IsReadable#

virtual bool IsReadable() const

Indicates whether the parameter is readable.

Return: Returns true if the parameter is readable.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CArrayParameter::IsReadable

IsWritable#

virtual bool IsWritable() const

Indicates whether the parameter is writable.

Return: Returns true if the parameter is writable.

Error Safety:

Does not throw C++ exceptions.

Reimplements: Pylon::CArrayParameter::IsWritable

GetInfo#

virtual String_t GetInfo(
    EParameterInfo info
)

Gets the parameter information.

Parameters:

  • info The type information to return.

Return: Returns the parameter information.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Throws an exception if no node is attached. Can throw exceptions if the retrieval of the information fails.

Reimplements: Pylon::CArrayParameter::GetInfo

GetInfoOrDefault#

virtual String_t GetInfoOrDefault(
    EParameterInfo info,
    const String_t defaultInfo
)

Gets the parameter information if the parameter is attached to a node.

Parameters:

  • info The type information to return. Otherwise returns the default information. This method is useful if you want to display parameter information and handle the case that some parameters are not available for a device.
  • defaultInfo The default information returned if the parameter is not attached to a node.

Return: Returns the parameter information if the parameter is attached to a node. Otherwise returns the default information.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Can throw exceptions if the retrieval of the information fails.

Reimplements: Pylon::CArrayParameter::GetInfoOrDefault

See IsValid().

ToStringOrDefault#

virtual String_t ToStringOrDefault(
    const String_t & defaultValue
)

Gets the parameter value as string if the parameter is readable.

Parameters:

  • defaultValue The default value returned if the parameter is not readable.

Return: Returns the parameter value if the parameter is readable. Otherwise returns the default value.

Thread Safety:

The method accesses the parameter multiple times. These accesses are not synchronized by a lock.

Error Safety:

Can throw exceptions if reading the value fails.

Reimplements: Pylon::CArrayParameter::ToStringOrDefault

Otherwise returns the default value.

Protected Attributes Documentation#

m_pFeature#

GenApi::IRegister * m_pFeature;

m_pValue#

GenApi::IValue * m_pValue;

Updated on 5 July 2022 at 15:30:00