Skip to content

Pylon::CCommandParameter#

CCommandParameter class used to simplify access to GenApi parameters.

#include <pylon/CommandParameter.h>

Inherits from Pylon::ICommandEx, Pylon::CParameter, GenApi::ICommand, Pylon::IValueEx, GenApi::IValue, GenApi::IBase

Public Functions#

Name
CCommandParameter()
Creates an empty CCommandParameter object.
CCommandParameter(GenApi::INode * pNode)
Creates a CCommandParameter object and attaches it to a node, typically retrieved for a nodemap calling GetNode().
CCommandParameter(GenApi::ICommand * pCommand)
Creates a CCommandParameter object and attaches it to a node of a matching type.
CCommandParameter(GenApi::INodeMap * pNodeMap, const char * pName)
Creates a CCommandParameter object and attaches it to a node retrieved from the provided node map.
CCommandParameter(GenApi::INodeMap & nodeMap, const char * pName)
Creates a CCommandParameter object and attaches it to a node retrieved from the provided node map.
CCommandParameter(const CCommandParameter & rhs)
Copies a CCommandParameter object.
virtual ~CCommandParameter()
Destroys the CCommandParameter 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::ICommand * pCommand)
Assigns a node of the same type to the parameter object.
CCommandParameter & operator=(const CCommandParameter & rhs)
Assigns a CCommandParameter object.
virtual bool Equals(const CCommandParameter & 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::ICommand * pCommand) 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 Execute(bool Verify =true)
Execute the command.
virtual void operator())()
Execute the command.
virtual bool IsDone(bool Verify =true)
Query whether the command is executed.
virtual bool TryExecute()
Executes the command and returns immediately if the parameter is writable.
virtual INode * GetNode()
Get the INode interface of the node.
virtual GenICam::gcstring ToString(bool Verify =false, bool IgnoreCache =false) =0
Get content of the node as string.
virtual void FromString(const GenICam::gcstring & ValueStr, bool Verify =true) =0
Set content of the node as string.
virtual bool IsValueCacheValid() const =0
Checks if the value comes from cache or is requested from another node.
virtual EAccessMode GetAccessMode() const =0
Get the access mode of the node.
virtual bool IsReadable() const =0
Indicates whether the parameter is readable.
virtual bool IsWritable() const =0
Indicates whether the parameter is writable.
virtual String_t GetInfo(EParameterInfo info) =0
Gets the parameter information.
virtual String_t GetInfoOrDefault(EParameterInfo info, const String_t defaultInfo) =0
Gets the parameter information if the parameter is attached to a node.
virtual String_t ToStringOrDefault(const String_t & defaultValue) =0
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.

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() =0
Virtual destructor enforcing virtual destructor on all derived classes.

Public Functions Documentation#

function CCommandParameter#

CCommandParameter()

Creates an empty CCommandParameter object.

Error Safety:

Does not throw C++ exceptions.

function CCommandParameter#

explicit CCommandParameter(
    GenApi::INode * pNode
)

Creates a CCommandParameter 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 CCommandParameter#

explicit CCommandParameter(
    GenApi::ICommand * pCommand
)

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

Parameters:

  • pCommand The node to attach.

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

Error Safety:

Does not throw C++ exceptions.

function CCommandParameter#

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

Creates a CCommandParameter 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 CCommandParameter#

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

Creates a CCommandParameter 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 CCommandParameter#

CCommandParameter(
    const CCommandParameter & rhs
)

Copies a CCommandParameter object.

Parameters:

  • rhs The object to copy.

Error Safety:

Does not throw C++ exceptions.

function ~CCommandParameter#

virtual ~CCommandParameter()

Destroys the CCommandParameter 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.

Reimplements: Pylon::CParameter::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.

Reimplements: Pylon::CParameter::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.

Reimplements: Pylon::CParameter::Attach

function Attach#

virtual bool Attach(
    GenApi::ICommand * pCommand
)

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

Parameters:

  • pCommand The node to assign.

Return: Returns true if the node has been attached.

Error Safety:

Does not throw C++ exceptions.

function operator=#

CCommandParameter & operator=(
    const CCommandParameter & rhs
)

Assigns a CCommandParameter object.

Parameters:

  • rhs The object to assign.

Error Safety:

Does not throw C++ exceptions.

function Equals#

virtual bool Equals(
    const CCommandParameter & 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.

Reimplements: Pylon::CParameter::Equals

function Equals#

virtual bool Equals(
    const GenApi::ICommand * pCommand
) const

Returns true if the attached node pointer is equal.

Parameters:

  • pCommand 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.

Reimplements: Pylon::CParameter::Release

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::CParameter::IsValid

function Execute#

virtual void Execute(
    bool Verify =true
)

Execute the command.

Parameters:

  • Verify Enables AccessMode and Range verification (default = true)

Reimplements: GenApi::ICommand::Execute

function operator()#

virtual void operator()()

Execute the command.

Reimplements: GenApi::ICommand::operator())

function IsDone#

virtual bool IsDone(
    bool Verify =true
)

Query whether the command is executed.

Parameters:

  • Verify Enables Range verification (default = false). The AccessMode is always checked

Return: True if the Execute command has finished; false otherwise

Reimplements: GenApi::ICommand::IsDone

function TryExecute#

virtual bool TryExecute()

Executes the command and returns immediately if the parameter is writable.

Return: Returns false if the parameter is not writable.

Thread Safety:

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

Error Safety:

Can throw exceptions if accessing the camera failed.

Reimplements: Pylon::ICommandEx::TryExecute

function GetNode#

inline virtual INode * GetNode()

Get the INode interface of the node.

Reimplemented by: Pylon::CArrayParameter::GetNode

function ToString#

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

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

function FromString#

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

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

function IsValueCacheValid#

virtual bool IsValueCacheValid() const =0

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

Reimplemented by: Pylon::CArrayParameter::IsValueCacheValid

function GetAccessMode#

virtual EAccessMode GetAccessMode() const =0

Get the access mode of the node.

Reimplemented by: Pylon::CArrayParameter::GetAccessMode

function IsReadable#

virtual bool IsReadable() const =0

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

function IsWritable#

virtual bool IsWritable() const =0

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

function GetInfo#

virtual String_t GetInfo(
    EParameterInfo info
) =0

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

function GetInfoOrDefault#

virtual String_t GetInfoOrDefault(
    EParameterInfo info,
    const String_t defaultInfo
) =0

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

function ToStringOrDefault#

virtual String_t ToStringOrDefault(
    const String_t & defaultValue
) =0

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.

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