GenApi#
Classes#
Name | |
---|---|
class | GenApi::CBaseRefT |
class | GenApi::CBooleanRefT |
class | GenApi::CCategoryRefT |
class | GenApi::CCommandRefT |
class | GenApi::CEnumEntryRefT |
class | GenApi::CEnumerationTRef |
class | GenApi::CFloatPtr SmartPointer for IFloat interface pointer. |
class | GenApi::CFloatRefT |
class | GenApi::CGeneric_XMLLoaderParams Empty base class used by class CNodeMapRef as generic template argument. |
class | GenApi::CIntegerRefT |
class | GenApi::CNodeCallback callback body instance for INode pointers |
class | GenApi::CNodeMapRef Smartpointer for NodeMaps with create function. |
class | GenApi::CNodeMapRefT Smartpointer template for NodeMaps with create function. |
class | GenApi::CPointer Encapsulates a GenApi pointer dealing with the dynamic_cast automatically. |
class | GenApi::CPortRefT |
class | GenApi::CRegisterRefT |
class | GenApi::CSelectorRefT |
class | GenApi::CStringRefT |
class | GenApi::CValueRefT |
class | GenApi::EAccessModeClass EAccessModeClass holds conversion methods for the access mode enumeration. |
class | GenApi::ECachingModeClass ECachingModeClass holds conversion methods for the caching mode enumeration. |
class | GenApi::EDisplayNotationClass Holds conversion methods for the notation type of floats. |
class | GenApi::EEndianessClass EEndianessClass holds conversion methods for the endianess enumeration. |
class | GenApi::EGenApiSchemaVersionClass helper class converting EGenApiSchemaVersion from and to string |
class | GenApi::EInputDirectionClass Holds conversion methods for the notation type of floats. |
class | GenApi::ENameSpaceClass Holds conversion methods for the namespace enumeration. |
class | GenApi::ERepresentationClass ERepresentationClass holds conversion methods for the representation enumeration. |
class | GenApi::ESignClass ESignClass holds conversion methods for the sign enumeration. |
class | GenApi::ESlopeClass Holds conversion methods for the converter formulas. |
class | GenApi::EStandardNameSpaceClass Holds conversion methods for the standard namespace enumeration. |
class | GenApi::EVisibilityClass EVisibilityClass holds conversion methods for the visibility enumeration. |
class | GenApi::EYesNoClass Holds conversion methods for the standard namespace enumeration. |
class | GenApi::FileProtocolAdapter Adapter between the std::iostreambuf and the SFNC Features representing the device filesystem. |
class | GenApi::Function_NodeCallback Container for a function pointer. |
struct | GenApi::IBase Base interface common to all nodes. |
struct | GenApi::IBoolean Interface for Boolean properties. |
struct | GenApi::ICategory Gives access to a category node. |
struct | GenApi::ICommand |
class | GenApi::IDevFileStreamBase |
class | GenApi::IDevFileStreamBuf |
struct | GenApi::IEnumEntry Interface of single enum value. |
struct | GenApi::IEnumeration Interface for enumeration properties. |
struct | GenApi::IEnumerationT Interface for enumeration properties. |
struct | GenApi::IFileProtocolAdapter Adapter between the std::iostreambuf and the SFNC Features representing the device filesystem. |
struct | GenApi::IFloat Interface for float properties. |
struct | GenApi::IInteger Interface for integer properties. |
struct | GenApi::INode Interface common to all nodes. |
struct | GenApi::INodeMap Interface to access the node map. |
struct | GenApi::IPort Interface for ports. |
struct | GenApi::IRegister Interface for registers. |
struct | GenApi::ISelector Interface for groups of features selected by a single one. |
struct | GenApi::IString Interface for string properties. |
struct | GenApi::IValue Interface for value properties. |
class | GenApi::Member_NodeCallback Container for a member function pointer. |
class | GenApi::node_vector A vector of INode pointers. |
class | GenApi::ODevFileStreamBase |
class | GenApi::ODevFileStreamBuf |
class | GenApi::value_vector A vector of IValue pointers. |
Types#
Name | |
---|---|
enum | _ECallbackType { cbPostInsideLock = 1, cbPostOutsideLock = 2} the type of callback |
enum | _ESign |
enum | _EAccessMode |
enum | _EVisibility |
enum | _ECachingMode |
enum | _ERepresentation |
enum | _EEndianess |
enum | _ENameSpace |
enum | _EStandardNameSpace |
enum | _EYesNo |
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 |
enum | _EGenApiSchemaVersion { v1_0 = 1, v1_1 = 2, _Undefined = -1} GenApi schema version. |
typedef value_vector | FeatureList_t a list of feature references |
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 node_vector | NodeList_t a list of node references |
typedef intptr_t | CallbackHandleType the callback handle for nodes |
typedef CPortRefT< IPort > | CPortRef |
typedef CRegisterRefT< IRegister > | CRegisterRef |
typedef CSelectorRefT< ISelector > | CSelectorRef |
typedef CStringRefT< IString > | CStringRef |
typedef CValueRefT< IValue > | CValueRef |
typedef enum GenApi::_ECallbackType | ECallbackType the type of callback |
typedef CPointer< IBase > | CBasePtr SmartPointer for IBase interface pointer. |
typedef CPointer< INode > | CNodePtr SmartPointer for INode interface pointer. |
typedef CPointer< IValue > | CValuePtr SmartPointer for IValue interface pointer. |
typedef CPointer< ICategory > | CCategoryPtr SmartPointer for ICategory interface pointer. |
typedef CPointer< IBoolean > | CBooleanPtr SmartPointer for IBoolean interface pointer. |
typedef CPointer< IInteger > | CIntegerPtr SmartPointer for IInteger interface pointer. |
typedef CPointer< IString > | CStringPtr SmartPointer for IString interface pointer. |
typedef CPointer< IRegister > | CRegisterPtr SmartPointer for IRegister interface pointer. |
typedef CPointer< IEnumeration > | CEnumerationPtr SmartPointer for IEnumeration interface pointer. |
typedef CPointer< IEnumEntry > | CEnumEntryPtr SmartPointer for IEnumEntry interface pointer. |
typedef CPointer< IPort > | CPortPtr SmartPointer for IPort interface pointer. |
typedef CPointer< IPortReplay > | CPortReplayPtr SmartPointer for IPortReplay interface pointer. |
typedef CPointer< IPortRecorder > | CPortRecorderPtr SmartPointer for IPortRecorder interface pointer. |
typedef CPointer< IPortWriteList, IPortWriteList > | CPortWriteListPtr SmartPointer for IPortWriteList interface pointer. |
typedef CPointer< IChunkPort > | CChunkPortPtr SmartPointer for IChunkPort interface pointer. |
typedef CPointer< INodeMap, INodeMap > | CNodeMapPtr SmartPointer for INodeMap interface pointer. |
typedef CPointer< IDeviceInfo, INodeMap > | CDeviceInfoPtr SmartPointer for IDeviceInfo interface pointer. |
typedef CPointer< IUserData, INodeMap > | CNodeMapUserDataPtr SmartPointer for IUserData interface pointer. |
typedef CPointer< IUserData > | CNodeUserDataPtr SmartPointer for IUserData interface pointer. |
typedef CPointer< ISelector > | CSelectorPtr SmartPointer for ISelector interface pointer. |
typedef CPointer< ICommand > | CCommandPtr SmartPointer for ICommand interface pointer. |
typedef CPointer< IPortConstruct > | CPortConstructPtr SmartPointer for IPortConstruct interface pointer. |
typedef enum GenApi::_ESign | ESign |
typedef enum GenApi::_EAccessMode | EAccessMode |
typedef enum GenApi::_EVisibility | EVisibility |
typedef enum GenApi::_ECachingMode | ECachingMode |
typedef enum GenApi::_ERepresentation | ERepresentation |
typedef enum GenApi::_EEndianess | EEndianess |
typedef enum GenApi::_ENameSpace | ENameSpace |
typedef enum GenApi::_EStandardNameSpace | EStandardNameSpace |
typedef enum GenApi::_EYesNo | EYesNo |
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 |
typedef enum GenApi::_EGenApiSchemaVersion | EGenApiSchemaVersion GenApi schema version. |
Functions#
Name | |
---|---|
bool | IsReadable(EAccessMode AccessMode) Tests if readable. |
bool | IsReadable(const IBase * p) Checks if a node is readable. |
bool | IsReadable(const IBase & r) Checks if a node is readable. |
bool | IsWritable(EAccessMode AccessMode) Tests if writable. |
bool | IsWritable(const IBase * p) Checks if a node is writable. |
bool | IsWritable(const IBase & r) Checks if a node is writable. |
bool | IsImplemented(EAccessMode AccessMode) Tests if implemented. |
bool | IsImplemented(const IBase * p) Checks if a node is implemented. |
bool | IsImplemented(const IBase & r) Checks if a node is implemented. |
bool | IsAvailable(EAccessMode AccessMode) Tests if available. |
bool | IsAvailable(const IBase * p) Checks if a node is available. |
bool | IsAvailable(const IBase & r) Checks if a node is available. |
EAccessMode | Combine(EAccessMode Peter, EAccessMode Paul) Computes which access mode the two guards allow together. |
bool | IsVisible(EVisibility Visibility, EVisibility MaxVisiblity) Tests Visibility. |
EVisibility | Combine(EVisibility Peter, EVisibility Paul) Computes which visibility the two guards allow together. |
bool | IsCacheable(ECachingMode CachingMode) Tests Cacheability. |
ECachingMode | Combine(ECachingMode Peter, ECachingMode Paul) Computes which CachingMode results from a combination. |
template <class Function > CNodeCallback * | make_NodeCallback(INode * pNode, Function function, ECallbackType CallbackType) make a new callback object for C functions |
template <class Function > intptr_t | Register(INode * pNode, Function f, ECallbackType CallbackType =cbPostInsideLock) Register a C-function as a callback. |
template <class Client ,class Member > CNodeCallback * | make_NodeCallback(INode * pNode, Client & client, Member member, ECallbackType CallbackType) make a new callback object for member functions |
template <class Client ,class Member > intptr_t | Register(INode * pNode, Client & c, Member m, ECallbackType CallbackType =cbPostInsideLock) Register a C++-member function a callback. |
void | Deregister(GenApi::CallbackHandleType pCallbackInfo) Unregistering callback by handle. |
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. |
Detailed Description#
Contains definitions of the types of GenICam GenApi modules.
GenApi is an alias for a more complex namespace name, e.g. GenApi_3_1_Basler_pylon. Throughout this documentation, only the alias GenApi is used. For programming, we also recommend to only use the alias.
Forward declarations can be defined as follows:
Alternatively, the GenICam library provides a header file that contains most of the forward declarations:
Types Documentation#
enum _ECallbackType#
Enumerator | Value | Description |
---|---|---|
cbPostInsideLock | 1 | |
cbPostOutsideLock | 2 | > callback is fired on leaving the tree inside the lock-guarded area > > |
the type of callback
enum _ESign#
Enumerator | Value | Description |
---|---|---|
Signed | Integer is signed. | |
Unsigned | Integer is unsigned. | |
_UndefinedSign | Object is not yet initialized. |
signed or unsigned integers
enum _EAccessMode#
Enumerator | Value | Description |
---|---|---|
NI | Not implemented. | |
NA | Not available. | |
WO | Write Only. | |
RO | Read Only. | |
RW | Read and Write. | |
_UndefinedAccesMode | Object is not yet initialized. | |
_CycleDetectAccesMode | used internally for AccessMode cycle detection |
access mode of a node
enum _EVisibility#
Enumerator | Value | Description |
---|---|---|
Beginner | 0 | Always visible. |
Expert | 1 | Visible for experts or Gurus. |
Guru | 2 | Visible for Gurus. |
Invisible | 3 | Not Visible. |
_UndefinedVisibility | 99 | Object is not yet initialized. |
recommended visibility of a node
enum _ECachingMode#
Enumerator | Value | Description |
---|---|---|
NoCache | Do not use cache. | |
WriteThrough | Write to cache and register. | |
WriteAround | Write to register, write to cache on read. | |
_UndefinedCachingMode | Not yet initialized. |
caching mode of a register
enum _ERepresentation#
Enumerator | Value | Description |
---|---|---|
Linear | Slider with linear behavior. | |
Logarithmic | Slider with logarithmic behaviour. | |
Boolean | Check box. | |
PureNumber | Decimal number in an edit control. | |
HexNumber | Hex number in an edit control. | |
IPV4Address | IP-Address. | |
MACAddress | MAC-Address. | |
_UndefinedRepresentation |
recommended representation of a node value
enum _EEndianess#
Enumerator | Value | Description |
---|---|---|
BigEndian | Register is big endian. | |
LittleEndian | Register is little endian. | |
_UndefinedEndian | Object is not yet initialized. |
Endianess of a value in a register
enum _ENameSpace#
Enumerator | Value | Description |
---|---|---|
Custom | name resides in custom namespace | |
Standard | name resides in one of the standard namespaces | |
_UndefinedNameSpace | Object is not yet initialized. |
Defines if a node name is standard or custom
enum _EStandardNameSpace#
Enumerator | Value | Description |
---|---|---|
None | name resides in custom namespace | |
GEV | name resides in GigE Vision namespace | |
IIDC | name resides in 1394 IIDC namespace | |
CL | name resides in camera link namespace | |
USB | name resides in USB namespace | |
_UndefinedStandardNameSpace | Object is not yet initialized. |
Defines from which standard namespace a node name comes from
enum _EYesNo#
Enumerator | Value | Description |
---|---|---|
Yes | 1 | yes |
No | 0 | no |
_UndefinedYesNo | 2 | Object is not yet initialized. |
Defines the choices of a Yes/No alternatives
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
enum _EGenApiSchemaVersion#
Enumerator | Value | Description |
---|---|---|
v1_0 | 1 | |
v1_1 | 2 | |
_Undefined | -1 |
GenApi schema version.
typedef FeatureList_t#
a list of feature references
typedef CBaseRef#
Reference to an IBase pointer
typedef CBooleanRef#
Reference to an IBoolean pointer
typedef CCategoryRef#
Reference to an ICategory pointer
typedef CCommandRef#
Reference to an ICommand pointer
typedef CEnumEntryRef#
Reference to an IEnumEntry pointer
typedef CFloatRef#
Reference to an IFloat pointer
typedef CIntegerRef#
Reference to an IInteger pointer
typedef NodeList_t#
a list of node references
typedef CallbackHandleType#
the callback handle for nodes
typedef CPortRef#
Reference to an IEnumEntry pointer
typedef CRegisterRef#
Reference to an IRegister pointer
typedef CSelectorRef#
Reference to an ISelector pointer
typedef CStringRef#
Reference to an IString pointer
typedef CValueRef#
Reference to an IValue pointer
typedef ECallbackType#
the type of callback
typedef CBasePtr#
SmartPointer for IBase interface pointer.
typedef CNodePtr#
SmartPointer for INode interface pointer.
typedef CValuePtr#
SmartPointer for IValue interface pointer.
typedef CCategoryPtr#
SmartPointer for ICategory interface pointer.
typedef CBooleanPtr#
SmartPointer for IBoolean interface pointer.
typedef CIntegerPtr#
SmartPointer for IInteger interface pointer.
typedef CStringPtr#
SmartPointer for IString interface pointer.
typedef CRegisterPtr#
SmartPointer for IRegister interface pointer.
typedef CEnumerationPtr#
SmartPointer for IEnumeration interface pointer.
typedef CEnumEntryPtr#
SmartPointer for IEnumEntry interface pointer.
typedef CPortPtr#
SmartPointer for IPort interface pointer.
typedef CPortReplayPtr#
SmartPointer for IPortReplay interface pointer.
typedef CPortRecorderPtr#
SmartPointer for IPortRecorder interface pointer.
typedef CPortWriteListPtr#
SmartPointer for IPortWriteList interface pointer.
typedef CChunkPortPtr#
SmartPointer for IChunkPort interface pointer.
typedef CNodeMapPtr#
SmartPointer for INodeMap interface pointer.
typedef CDeviceInfoPtr#
SmartPointer for IDeviceInfo interface pointer.
typedef CNodeMapUserDataPtr#
SmartPointer for IUserData interface pointer.
typedef CNodeUserDataPtr#
SmartPointer for IUserData interface pointer.
typedef CSelectorPtr#
SmartPointer for ISelector interface pointer.
typedef CCommandPtr#
SmartPointer for ICommand interface pointer.
typedef CPortConstructPtr#
SmartPointer for IPortConstruct interface pointer.
typedef ESign#
signed or unsigned integers
typedef EAccessMode#
access mode of a node
typedef EVisibility#
recommended visibility of a node
typedef ECachingMode#
caching mode of a register
typedef ERepresentation#
recommended representation of a node value
typedef EEndianess#
Endianess of a value in a register
typedef ENameSpace#
Defines if a node name is standard or custom
typedef EStandardNameSpace#
Defines from which standard namespace a node name comes from
typedef EYesNo#
Defines the choices of a Yes/No alternatives
typedef StringList_t#
A list of strings
typedef ESlope#
typedef for formula type
typedef 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 for float notation
typedef EInterfaceType#
typedef for interface type
typedef ELinkType#
typedef for link type
For details see GenICam Wiki : GenApi/SoftwareArchitecture/NodeDependencies
typedef EIncMode#
typedef for increment mode
typedef EInputDirection#
typedef for link type
typedef EGenApiSchemaVersion#
GenApi schema version.
Functions Documentation#
function IsReadable#
Tests if readable.
function IsReadable#
Checks if a node is readable.
function IsReadable#
Checks if a node is readable.
function IsWritable#
Tests if writable.
function IsWritable#
Checks if a node is writable.
function IsWritable#
Checks if a node is writable.
function IsImplemented#
Tests if implemented.
function IsImplemented#
Checks if a node is implemented.
function IsImplemented#
Checks if a node is implemented.
function IsAvailable#
Tests if available.
function IsAvailable#
Checks if a node is available.
function IsAvailable#
Checks if a node is available.
function Combine#
Computes which access mode the two guards allow together.
function IsVisible#
Tests Visibility.
CAVE : this relys on the EVisibility enum's coding
function Combine#
Computes which visibility the two guards allow together.
function IsCacheable#
Tests Cacheability.
function Combine#
Computes which CachingMode results from a combination.
function make_NodeCallback#
template <class Function >
CNodeCallback * make_NodeCallback(
INode * pNode,
Function function,
ECallbackType CallbackType
)
make a new callback object for C functions
function Register#
template <class Function >
intptr_t Register(
INode * pNode,
Function f,
ECallbackType CallbackType =cbPostInsideLock
)
Register a C-function as a callback.
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 Register#
template <class Client ,
class Member >
intptr_t Register(
INode * pNode,
Client & c,
Member m,
ECallbackType CallbackType =cbPostInsideLock
)
Register a C++-member function a callback.
function Deregister#
Unregistering callback by handle.
function GetInterfaceName#
Returns the name of the main interface as string DEPRECATED, use IBase::GetPrincipalInterfaceType() instead
function IsReadable#
Checks if a node is readable.
function IsWritable#
Checks if a node is Writable.
function IsImplemented#
Checks if a node is Implemented.
function IsAvailable#
Checks if a node is Available.