Skip to content

Pylon::CParameter#

CParameter class used to simplify access to GenApi parameters.

#include <pylon/Parameter.h>

Inherits from Pylon::IValueEx, GenApi::IValue, GenApi::IBase

Inherited by Pylon::CArrayParameter, Pylon::CBooleanParameter, Pylon::CCommandParameter, Pylon::CEnumParameter, Pylon::CFloatParameter, Pylon::CIntegerParameter, Pylon::CStringParameter

Public Functions#

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.
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::IValue * pValue)
Assigns a node of the same type to the parameter object.
CParameter & operator=(const CParameter & rhs)
Assigns a CParameter 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::INode * pNode) const
Returns true if the attached node pointer is equal.
virtual bool Equals(const GenApi::IValue * pValue) const
Returns true if the attached node pointer is equal.
virtual void Release()
Releases the attached node.
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 bool IsValid() const
Indicates whether a node is attached.
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.

Additional inherited members#

Public Functions inherited from GenApi::IBase

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

Public Functions Documentation#

function CParameter#

CParameter()

Creates an empty CParameter object.

Error Safety:

Does not throw C++ exceptions.

function CParameter#

explicit CParameter(
    GenApi::INode * pNode
)

Creates a CParameter 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.

function CParameter#

explicit CParameter(
    GenApi::IValue * pValue
)

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

Parameters:

  • pValue The node to attach.

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

Error Safety:

Does not throw C++ exceptions.

function CParameter#

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

Creates a CParameter 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.

function CParameter#

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

Creates a CParameter 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.

function CParameter#

CParameter(
    const CParameter & rhs
)

Copies a CParameter object.

Parameters:

  • rhs The object to copy.

Error Safety:

Does not throw C++ exceptions.

function ~CParameter#

virtual ~CParameter()

Destroys the CParameter object.

Error Safety:

Does not throw C++ exceptions.

Does not access the attached node.

function 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.

Reimplemented by: Pylon::CArrayParameter::Attach, Pylon::CCommandParameter::Attach, Pylon::CBooleanParameter::Attach, Pylon::CStringParameter::Attach, Pylon::CEnumParameter::Attach, Pylon::CIntegerParameter::Attach, Pylon::CFloatParameter::Attach

function 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.

Reimplemented by: Pylon::CArrayParameter::Attach, Pylon::CCommandParameter::Attach, Pylon::CBooleanParameter::Attach, Pylon::CStringParameter::Attach, Pylon::CEnumParameter::Attach, Pylon::CIntegerParameter::Attach, Pylon::CFloatParameter::Attach

function 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.

Reimplemented by: Pylon::CArrayParameter::Attach, Pylon::CCommandParameter::Attach, Pylon::CBooleanParameter::Attach, Pylon::CStringParameter::Attach, Pylon::CEnumParameter::Attach, Pylon::CIntegerParameter::Attach, Pylon::CFloatParameter::Attach

function 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.

function operator=#

CParameter & operator=(
    const CParameter & rhs
)

Assigns a CParameter object.

Parameters:

  • rhs The object to assign.

Error Safety:

Does not throw C++ exceptions.

function 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.

function 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.

Reimplemented by: Pylon::CArrayParameter::Equals, Pylon::CCommandParameter::Equals, Pylon::CBooleanParameter::Equals, Pylon::CStringParameter::Equals, Pylon::CEnumParameter::Equals, Pylon::CIntegerParameter::Equals, Pylon::CFloatParameter::Equals

function 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.

function Release#

virtual void Release()

Releases the attached node.

Error Safety:

Does not throw C++ exceptions.

Reimplemented by: Pylon::CArrayParameter::Release, Pylon::CCommandParameter::Release, Pylon::CBooleanParameter::Release, Pylon::CStringParameter::Release, Pylon::CEnumParameter::Release, Pylon::CIntegerParameter::Release, Pylon::CFloatParameter::Release

function GetAccessMode#

virtual GenApi::EAccessMode GetAccessMode() const

Get the access mode of the node.

Reimplements: GenApi::IBase::GetAccessMode

function GetNode#

virtual GenApi::INode * GetNode()

Get the INode interface of the node.

Reimplements: GenApi::IBoolean::GetNode

function 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

function 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

function IsValueCacheValid#

virtual bool IsValueCacheValid() const

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

Reimplements: GenApi::IBoolean::IsValueCacheValid

function 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

function 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

function 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::IBooleanEx::IsValid

Reimplemented by: Pylon::CArrayParameter::IsValid, Pylon::CCommandParameter::IsValid, Pylon::CBooleanParameter::IsValid, Pylon::CStringParameter::IsValid, Pylon::CEnumParameter::IsValid, Pylon::CIntegerParameter::IsValid, Pylon::CFloatParameter::IsValid

function 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

function 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().

function 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.