Skip to content

Pylon::CStringParameter#

CStringParameter class used to simplify access to GenApi parameters.

#include <pylon/StringParameter.h>

Inherits from Pylon::IStringEx, Pylon::CParameter, GenApi::IString, Pylon::IValueEx, GenApi::IValue, GenApi::IBase

Public Functions#

Name
CStringParameter()
Creates an empty CStringParameter object.
CStringParameter(GenApi::INode * pNode)
Creates a CStringParameter object and attaches it to a node, typically retrieved for a nodemap calling GetNode().
CStringParameter(GenApi::IString * pString)
Creates a CStringParameter object and attaches it to a node of a matching type.
CStringParameter(GenApi::INodeMap * pNodeMap, const char * pName)
Creates a CStringParameter object and attaches it to a node retrieved from the provided node map.
CStringParameter(GenApi::INodeMap & nodeMap, const char * pName)
Creates a CStringParameter object and attaches it to a node retrieved from the provided node map.
CStringParameter(const CStringParameter & rhs)
Copies a CStringParameter object.
virtual ~CStringParameter()
Destroys the CStringParameter 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::IString * pString)
Assigns a node of the same type to the parameter object.
CStringParameter & operator=(const CStringParameter & rhs)
Assigns a CStringParameter object.
virtual bool Equals(const CStringParameter & 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::IString * pString) 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 SetValue(const GenICam::gcstring & Value, bool Verify =true)
Set node value.
virtual GenApi::IString & operator=(const GenICam::gcstring & Value)
Set node value.
virtual GenICam::gcstring GetValue(bool Verify =false, bool IgnoreCache =false)
Get node value.
virtual GenICam::gcstring operator())()
Get node value.
virtual GenICam::gcstring operator*()
Get node value.
virtual int64_t GetMaxLength()
Retrieves the maximum length of the string in bytes.
virtual bool TrySetValue(const String_t & value)
Sets the value of the parameter if the parameter is writable.
virtual String_t GetValueOrDefault(const String_t & defaultValue)
Gets the value of the parameter if the parameter is readable.
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 CStringParameter#

CStringParameter()

Creates an empty CStringParameter object.

Error Safety:

Does not throw C++ exceptions.

function CStringParameter#

explicit CStringParameter(
    GenApi::INode * pNode
)

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

explicit CStringParameter(
    GenApi::IString * pString
)

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

Parameters:

  • pString The node to attach.

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

Error Safety:

Does not throw C++ exceptions.

function CStringParameter#

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

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

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

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

CStringParameter(
    const CStringParameter & rhs
)

Copies a CStringParameter object.

Parameters:

  • rhs The object to copy.

Error Safety:

Does not throw C++ exceptions.

function ~CStringParameter#

virtual ~CStringParameter()

Destroys the CStringParameter 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::IString * pString
)

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

Parameters:

  • pString The node to assign.

Return: Returns true if the node has been attached.

Error Safety:

Does not throw C++ exceptions.

function operator=#

CStringParameter & operator=(
    const CStringParameter & rhs
)

Assigns a CStringParameter object.

Parameters:

  • rhs The object to assign.

Error Safety:

Does not throw C++ exceptions.

function Equals#

virtual bool Equals(
    const CStringParameter & 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::IString * pString
) const

Returns true if the attached node pointer is equal.

Parameters:

  • pString 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 SetValue#

virtual void SetValue(
    const GenICam::gcstring & Value,
    bool Verify =true
)

Set node value.

Parameters:

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

Reimplements: GenApi::IString::SetValue

function operator=#

virtual GenApi::IString & operator=(
    const GenICam::gcstring & Value
)

Set node value.

Reimplements: GenApi::IString::operator=

function GetValue#

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

Get node value.

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::IString::GetValue

function operator()#

virtual GenICam::gcstring operator()()

Get node value.

Reimplements: GenApi::IString::operator())

function operator*#

virtual GenICam::gcstring operator*()

Get node value.

Reimplements: GenApi::IString::operator*

function GetMaxLength#

virtual int64_t GetMaxLength()

Retrieves the maximum length of the string in bytes.

Reimplements: GenApi::IString::GetMaxLength

function TrySetValue#

virtual bool TrySetValue(
    const String_t & value
)

Sets the value of the parameter if the parameter is writable.

Parameters:

  • value The string value to set.

Return: Returns false if the parameter is not writable.

Precondition:

Thread Safety:

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

Error Safety:

Can throw exceptions if the preconditions are not met or if writing the value fails.

Reimplements: Pylon::IStringEx::TrySetValue

function GetValueOrDefault#

virtual String_t GetValueOrDefault(
    const String_t & defaultValue
)

Gets the value of the parameter if the parameter is readable.

Parameters:

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

Return: Returns the value of the parameter 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::IStringEx::GetValueOrDefault

Otherwise returns the default value.

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.