Skip to content

GenApi Node Reference Classes#

Module: GenICam

Files#

Name
GenApi/Container.h
Portable container classes for INode & IValue pointers.
GenApi/NodeCallback.h
Implementation helpers for CNodeCallback Defines a bunch of templates for creating callback-functors taking a INode pointer and returning void.

Classes#

Name
class GenApi::node_vector
A vector of INode pointers.
class GenApi::value_vector
A vector of IValue pointers.
struct GenApi::IFileProtocolAdapter
Adapter between the std::iostreambuf and the SFNC Features representing the device filesystem.
struct GenApi::ISelector
Interface for groups of features selected by a single one.
class GenApi::CNodeCallback
callback body instance for INode pointers
class GenApi::Function_NodeCallback
Container for a function pointer.
class GenApi::Member_NodeCallback
Container for a member function pointer.

Types#

Name
enum _ESlope
enum _EXMLValidation { xvLoad = 0x00000001L, xvCycles = 0x00000002L, xvSFNC = 0x00000004L, xvDefault = 0x00000000L, xvAll = 0xffffffffL, _UndefinedEXMLValidation = 0x8000000L}
typedef describing the different validity checks which can be performed on an XML file
enum _EDisplayNotation
enum _EInterfaceType
enum _ELinkType { ctParentNodes, ctReadingChildren, ctWritingChildren, ctInvalidatingChildren, ctDependingNodes, ctTerminalNodes, ctValueChangingChildren}
typedef for link type
enum _EIncMode
enum _EInputDirection
typedef CBaseRefT< IBase > CBaseRef
typedef CBooleanRefT< IBoolean > CBooleanRef
typedef CCategoryRefT< ICategory > CCategoryRef
typedef CCommandRefT< ICommand > CCommandRef
typedef CEnumEntryRefT< IEnumEntry > CEnumEntryRef
typedef CFloatRefT< IFloat > CFloatRef
typedef CIntegerRefT< IInteger > CIntegerRef
typedef CPortRefT< IPort > CPortRef
typedef CRegisterRefT< IRegister > CRegisterRef
typedef CSelectorRefT< ISelector > CSelectorRef
typedef CStringRefT< IString > CStringRef
typedef CValueRefT< IValue > CValueRef
typedef CPointer< IPortConstruct > CPortConstructPtr
SmartPointer for IPortConstruct interface pointer.
typedef GenICam::gcstring_vector StringList_t
typedef enum GenApi::_ESlope ESlope
typedef enum GenApi::_EXMLValidation EXMLValidation
typedef describing the different validity checks which can be performed on an XML file
typedef enum GenApi::_EDisplayNotation EDisplayNotation
typedef enum GenApi::_EInterfaceType EInterfaceType
typedef enum GenApi::_ELinkType ELinkType
typedef for link type
typedef enum GenApi::_EIncMode EIncMode
typedef enum GenApi::_EInputDirection EInputDirection

Functions#

Name
template <class Function >
CNodeCallback *
make_NodeCallback(INode * pNode, Function function, ECallbackType CallbackType)
make a new callback object for C functions
template <class Client ,class Member >
CNodeCallback *
make_NodeCallback(INode * pNode, Client & client, Member member, ECallbackType CallbackType)
make a new callback object for member functions
GenICam::gcstring GetInterfaceName(IBase * pBase)
template <class T ,class B >
bool
IsReadable(const CPointer< T, B > & ptr)
Checks if a node is readable.
template <class T ,class B >
bool
IsWritable(const CPointer< T, B > & ptr)
Checks if a node is Writable.
template <class T ,class B >
bool
IsImplemented(const CPointer< T, B > & ptr)
Checks if a node is Implemented.
template <class T ,class B >
bool
IsAvailable(const CPointer< T, B > & ptr)
Checks if a node is Available.

Types Documentation#

enum _ESlope#

Enumerator Value Description
Increasing strictly monotonous increasing
Decreasing strictly monotonous decreasing
Varying slope changes, e.g. at run-time
Automatic slope is determined automatically by probing the function
_UndefinedESlope Object is not yet initialized.

typedef for formula type

enum _EXMLValidation#

Enumerator Value Description
xvLoad 0x00000001L Creates a dummy node map.
xvCycles 0x00000002L checks for write and dependency cycles (implies xvLoad)
xvSFNC 0x00000004L checks for conformance with the standard feature naming convention (SFNC)
xvDefault 0x00000000L checks performed if nothing else is said
xvAll 0xffffffffL all possible checks
_UndefinedEXMLValidation 0x8000000L Object is not yet initialized.

typedef describing the different validity checks which can be performed on an XML file

The enum values for a bitfield of length uint32_t

enum _EDisplayNotation#

Enumerator Value Description
fnAutomatic the notation if either scientific or fixed depending on what is shorter
fnFixed the notation is fixed, e.g. 123.4
fnScientific the notation is scientific, e.g. 1.234e2
_UndefinedEDisplayNotation Object is not yet initialized.

typedef for float notation

enum _EInterfaceType#

Enumerator Value Description
intfIValue IValue interface.
intfIBase IBase interface.
intfIInteger IInteger interface.
intfIBoolean IBoolean interface.
intfICommand ICommand interface.
intfIFloat IFloat interface.
intfIString IString interface.
intfIRegister IRegister interface.
intfICategory ICategory interface.
intfIEnumeration IEnumeration interface.
intfIEnumEntry IEnumEntry interface.
intfIPort IPort interface.

typedef for interface type

enum _ELinkType#

Enumerator Value Description
ctParentNodes All nodes for which this node is at least an invalidating child.
ctReadingChildren All nodes which can be read from.
ctWritingChildren All nodes which can write a value further down the node stack.
ctInvalidatingChildren All directly connected nodes which invalidate this node.
ctDependingNodes All directly or indirectly connected nodes which are invalidated by this nodes (i.e. which are dependent on this node)
ctTerminalNodes All indirectly connected terminal nodes.
ctValueChangingChildren All child node used to compute the value.

typedef for link type

For details see GenICam Wiki : GenApi/SoftwareArchitecture/NodeDependencies

enum _EIncMode#

Enumerator Value Description
noIncrement
fixedIncrement
listIncrement

typedef for increment mode

enum _EInputDirection#

Enumerator Value Description
idFrom Indicates a swiss knife that it is used as worker for a converter computing FROM.
idTo Indicates a swiss knife that it is used as worker for a converter computing TO.
idNone SwissKnife is not used within a converter.

typedef for link type

typedef CBaseRef#

typedef CBaseRefT<IBase> GenApi::CBaseRef;

Reference to an IBase pointer

typedef CBooleanRef#

typedef CBooleanRefT<IBoolean> GenApi::CBooleanRef;

Reference to an IBoolean pointer

typedef CCategoryRef#

typedef CCategoryRefT<ICategory> GenApi::CCategoryRef;

Reference to an ICategory pointer

typedef CCommandRef#

typedef CCommandRefT<ICommand> GenApi::CCommandRef;

Reference to an ICommand pointer

typedef CEnumEntryRef#

typedef CEnumEntryRefT<IEnumEntry> GenApi::CEnumEntryRef;

Reference to an IEnumEntry pointer

typedef CFloatRef#

typedef CFloatRefT<IFloat> GenApi::CFloatRef;

Reference to an IFloat pointer

typedef CIntegerRef#

typedef CIntegerRefT<IInteger> GenApi::CIntegerRef;

Reference to an IInteger pointer

typedef CPortRef#

typedef CPortRefT<IPort> GenApi::CPortRef;

Reference to an IEnumEntry pointer

typedef CRegisterRef#

typedef CRegisterRefT<IRegister> GenApi::CRegisterRef;

Reference to an IRegister pointer

typedef CSelectorRef#

typedef CSelectorRefT<ISelector> GenApi::CSelectorRef;

Reference to an ISelector pointer

typedef CStringRef#

typedef CStringRefT<IString> GenApi::CStringRef;

Reference to an IString pointer

typedef CValueRef#

typedef CValueRefT<IValue> GenApi::CValueRef;

Reference to an IValue pointer

typedef CPortConstructPtr#

typedef CPointer<IPortConstruct> GenApi::CPortConstructPtr;

SmartPointer for IPortConstruct interface pointer.

typedef StringList_t#

typedef GenICam::gcstring_vector GenApi::StringList_t;

A list of strings

typedef ESlope#

typedef enum GenApi::_ESlope  GenApi::ESlope;

typedef for formula type

typedef EXMLValidation#

typedef enum GenApi::_EXMLValidation  GenApi::EXMLValidation;

typedef describing the different validity checks which can be performed on an XML file

The enum values for a bitfield of length uint32_t

typedef EDisplayNotation#

typedef enum GenApi::_EDisplayNotation  GenApi::EDisplayNotation;

typedef for float notation

typedef EInterfaceType#

typedef enum GenApi::_EInterfaceType  GenApi::EInterfaceType;

typedef for interface type

typedef ELinkType#

typedef enum GenApi::_ELinkType  GenApi::ELinkType;

typedef for link type

For details see GenICam Wiki : GenApi/SoftwareArchitecture/NodeDependencies

typedef EIncMode#

typedef enum GenApi::_EIncMode  GenApi::EIncMode;

typedef for increment mode

typedef EInputDirection#

typedef enum GenApi::_EInputDirection  GenApi::EInputDirection;

typedef for link type

Functions Documentation#

function make_NodeCallback#

template <class Function >
CNodeCallback * make_NodeCallback(
    INode * pNode,
    Function function,
    ECallbackType CallbackType
)

make a new callback object for C functions

function make_NodeCallback#

template <class Client ,
class Member >
CNodeCallback * make_NodeCallback(
    INode * pNode,
    Client & client,
    Member member,
    ECallbackType CallbackType
)

make a new callback object for member functions

function GetInterfaceName#

inline GenICam::gcstring GetInterfaceName(
    IBase * pBase
)

Returns the name of the main interface as string DEPRECATED, use IBase::GetPrincipalInterfaceType() instead

function IsReadable#

template <class T ,
class B >
inline bool IsReadable(
    const CPointer< T, B > & ptr
)

Checks if a node is readable.

function IsWritable#

template <class T ,
class B >
inline bool IsWritable(
    const CPointer< T, B > & ptr
)

Checks if a node is Writable.

function IsImplemented#

template <class T ,
class B >
inline bool IsImplemented(
    const CPointer< T, B > & ptr
)

Checks if a node is Implemented.

function IsAvailable#

template <class T ,
class B >
inline bool IsAvailable(
    const CPointer< T, B > & ptr
)

Checks if a node is Available.