GEV Server (CVGevServer.dll) 15.0
Enumerations

Enumerations

enum  TAcquisitionMode { AM_None = -1 , AM_Automatic = 0 , AM_Manual }
 Acquisition mode of the server. More...
 
enum  TDriver { DT_Auto = -1 , DT_Socket = 0 , DT_Filter }
 GigE Vision driver to use or being used. More...
 
enum  TGSInfo { GSI_XMLVersionMajor = 0 , GSI_XMLVersionMinor , GSI_XMLVersionSubMinor , GSI_ServerUserVersion , GSI_AcquisitionActive }
 Supported GEV Server info commands to get or set properties of the GEV Server's feature set. More...
 
enum  TGSNamespace { GSNS_Standard , GSNS_Custom , GSNS_Private }
 Namespace a node resides in. More...
 
enum  TGSNodeEvent { GSNE_Read , GSNE_Write }
 Events for GEV Server Value Nodes. More...
 
enum  TGSNodeInfo {
  GSNI_Name = 0 , GSNI_DisplayName , GSNI_AccessMode , GSNI_Max ,
  GSNI_Min , GSNI_Increment , GSNI_NumEnumEntries , GSNI_Streamable ,
  GSNI_CachingMode , GSNI_Tooltip , GSNI_Description , GSNI_Visibility ,
  GSNI_PollingTime , GSNI_EventID , GSNI_Namespace , GSNI_RegisterLength ,
  GSNI_RegisterAddress , GSNI_NumberRepresentation , GSNI_Value , GSNI_OnValue ,
  GSNI_OffValue , GSNI_Formula , GSNI_ImposedAccessMode , GSNI_IsImplemented ,
  GSNI_IsAvailable , GSNI_IsLocked , GSNI_Alias , GSNI_Sign ,
  GSNI_Unit , GSNI_DisplayPrecision , GSNI_Last
}
 Supported GEV Server Feature Nodes info commands. More...
 
enum  TGSNodeList { GSNL_Child , GSNL_Selected , GSNL_Invalidator , GSNL_Addresses }
 Defines which kinds of node-relations are to be accessed. More...
 
enum  TGSNodeType {
  GSNT_Invalid = -1 , GSNT_Unknown = 0 , GSNT_Category , GSNT_IntReg ,
  GSNT_StringReg , GSNT_Integer , GSNT_Boolean , GSNT_Command ,
  GSNT_Enumeration , GSNT_EnumEntry , GSNT_IntSwissKnife , GSNT_String ,
  GSNT_Float , GSNT_FloatReg
}
 Available GSNODE types. More...
 
enum  TGSNumberRepresentation {
  GSNR_None = -1 , GSNR_Linear = 0 , GSNR_Logarithmic , GSNR_Boolean ,
  GSNR_PureNumber , GSNR_HexNumber
}
 Possible number representations for IInteger nodes. More...
 
enum  TGSNumberSign { GSNS_Unsigned = 0 , GSNS_Signed }
 Possible sign state of numeric register nodes. More...
 
enum  TServerEvent {
  SE_Connected , SE_Disconnected , SE_AcquisitionStart , SE_AcquisitionStop ,
  SE_ImageSnapped
}
 Server events for which callbacks can be registered. More...
 

Detailed Description

Enumeration Type Documentation

◆ TAcquisitionMode

Acquisition mode of the server.

The acquisition mode specifies who handles the image transfer.

Note
If a new image is assigned to the server via the GSSetImage function the most convenient acquisition mode is automatically set (first AM_Automatic, then AM_Manual and then AM_None).
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSSetImage, GSGetAcquisitionMode, GSSetAcquisitionMode, GSSendImage, GSSendCurrentImage
See the Acquisition Mode in the Theory of Operation chapter.
Enumerator
AM_None 

No image is set and thus no image transfer is possible.

AM_Automatic 

The server completely handles the grab and transfer.

Only possible if a grab interface is available:
IGrabber, IPingPong or IGrab2

AM_Manual 

The user manually sends images.

The user is responsible of the image acquisition on the server side. An image can be sent by calling either the GSSendImage or GSSendCurrentImage function. But only if the client started the acquisition!

◆ TDriver

enum TDriver

GigE Vision driver to use or being used.

The driver type defines how network packets are received and transmitted.

Note
The driver type is specified when the server object is created and can not be changed afterwards. You can query which driver types are available by calling the GSDriverTypePresent function.
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSDriverTypePresent, CreateGevServer, CreateGevServerEx, GSDriverType
Driver Type in Theory of Operation
Examples:
Visual C++ - VC GevServer Example
Enumerator
DT_Auto 

Automatically select driver.

Try to use DT_Filter, if that doesn't work fall back to DT_Socket.

DT_Socket 

Connection via operating system sockets (IP stack).

Attention
This must be used when loop-back communication is intended.
DT_Filter 

Connection via filter driver.

Default driver (on Microsoft Windows) which yields best performance for streaming to remote clients.

◆ TGSInfo

enum TGSInfo

Supported GEV Server info commands to get or set properties of the GEV Server's feature set.

Attention
Changes to these properties can only be done as long as the server has not been started yet.
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSGetInfoAsInteger, GSSetInfoAsInteger, GSGetInfoAsString, GSSetInfoAsString
See the Device and XML Description Versioning section of the Theory of Operation.
Examples:
Visual C++ - VC GevServer Example
Enumerator
GSI_XMLVersionMajor 

Accesses the XML major version number.

The major version number indicates a major, possibly breaking, change in the feature nodes.

Attention
Change the XML versions if you change/fix GenApi features! If this is not done the client side might use an outdated XML version which results in communication errors.

Use the GSGetInfoAsInteger and GSSetInfoAsInteger functions to access this value.

GSI_XMLVersionMinor 

Accesses the XML minor version number.

The minor version indicates new/changed feature sets; mostly added features.

Attention
Change the XML versions if you change/fix GenApi features! If this is not done the client side might use an outdated XML version which results in communication errors.

Use the GSGetInfoAsInteger and GSSetInfoAsInteger functions to access this value.

GSI_XMLVersionSubMinor 

Accesses the XML sub-minor version number.

The sub-minor version indicates bug fixes without any visible feature change.

Attention
Change the XML versions if you change/fix GenApi features! If this is not done the client side might use an outdated XML version which results in communication errors.

Use the GSGetInfoAsInteger and GSSetInfoAsInteger functions to access this value.

GSI_ServerUserVersion 

A user defined version addition to identify different server feature sets.

Attention
Usage of this property is very important as it distinguishes between different GEV Server apps! As soon as you add any custom feature (or remove one from the default set) a unique string version/id has to be used. If this is not done the client side might use a wrong XML which does not resemble the actual feature set!

Use the GSGetInfoAsString and GSSetInfoAsString functions to access this value.

◆ TGSNamespace

Namespace a node resides in.

The namespace defines whether a feature node is standardized (via the SFNC (Standard Features Naming Convention) or a custom creation.

The namespace of a node is given when it is created and can not be changed afterwards. Create a new node and remove the old one if the namespace needs to be changed.

Supported platforms:
Win32
Win64
Linux
Related Topics:
CreateGSBooleanNode, CreateGSCategoryNode, CreateGSCommandNode, CreateGSEnumEntryNode, CreateGSEnumerationNode, CreateGSInt32Node, CreateGSInt64Node, CreateGSIntegerNode, CreateGSIntSwissKnifeNode, CreateGSStringNode, GSNGetInfoAsInteger
See the Namespace section in the Theory of Operation chapter.
Examples:
Visual C++ - VC GevServer Example
Sample in Visual C++:
For an example see the CreateGSEnumerationNode and CreateGSIntSwissKnifeNode functions.
Enumerator
GSNS_Standard 

Node is described in the GenICam Standard Features Naming Convention document.

GSNS_Custom 

Node is custom creation and not standardized.

GSNS_Private 

Node will not be visible on client side.

Private nodes are not put into the XML description of the server. The just represent memory for helping to implement certain features. These nodes and their memory can only be indirectly accessed by e.g. using selector constructs or direct register read/write.

◆ TGSNodeEvent

Events for GEV Server Value Nodes.

The callback for a node is stored in GSNODE handle object. Thus as long as the events are needed keep the hosting GSNODE handle alive.

Attention
Most events are fired from the server's control thread. Do not do lengthy processing in these events as the server is then not responsive and the connection may get lost. Also all events are not fired from a user interface thread context. Thus take care when accessing UI related functions/methods.
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSNRegisterEvent, GSNUnregisterEvent
See the IValue description in the Theory of Operation chapter.
Examples:
Visual C++ - VC GevServer Example
Enumerator
GSNE_Read 

Called before the node's read-answer is sent to the client.

Fired both if the node was read internally and externally.

GSNE_Write 

Called after the node is written.

Fired both if the node was written internally and externally.

◆ TGSNodeInfo

Supported GEV Server Feature Nodes info commands.

Note
Not all info enumerators are supported by all node types or may access different values.
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode, GSNSetInfoAsNode, GSNGetInfoAsString, GSNSetInfoAsString
See the Feature Interfaces in the Theory of Operation chapter for a list of available properties per type.
Examples:
Visual C++ - VC GevServer Example
Sample in Visual C++:
For an example see the CreateGSEnumerationNode and CreateGSIntSwissKnifeNode functions.
Enumerator
GSNI_Name 

Gets the full name of the node without a namespace prefix.

Use the GSNGetInfoAsString function to get the value.

GSNI_DisplayName 

Gets the display name of the node.

Use the GSNGetInfoAsString and GSNSetInfoAsString functions to access the value.

GSNI_AccessMode 

Gets the TAccessMode of the register node or accesses the mode configuration.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_Max 

Gets the maximal value or accesses the max configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Min 

Gets the minimal value or accesses the increment configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Increment 

Gets the increment or accesses the increment configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Streamable 

Gets whether this node can be saved on client side or access the configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger functions to access the value (everything except 0 is TRUE).

GSNI_CachingMode 

Gets the TCachingMode or accesses the configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Tooltip 

Accesses the tooltip (short description).

Use the GSNGetInfoAsString and GSNSetInfoAsString functions to access the value.

GSNI_Description 

Accesses the long descriptive text.

Use the GSNGetInfoAsString and GSNSetInfoAsString functions to access the value.

GSNI_Visibility 

Accesses the visibility level.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_PollingTime 

Accesses the polling time in ms.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_Namespace 

Gets the namespace of the node.

Use the GSNGetInfoAsString function to access the value.

GSNI_RegisterLength 

Gets the length of the register in bytes.

Use the GSNGetInfoAsInteger function to access the value.

GSNI_RegisterAddress 

Gets the current address of the register (can change).

Use the GSNGetInfoAsInteger function to access the value.

GSNI_NumberRepresentation 

Accesses the TGSNumberRepresentation of a number.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_Value 

Accesses the value configuration.

Use the GSNGetInfoAsInteger, GSNSetInfoAsInteger, GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_OnValue 

OnValue for Boolean nodes and Execute value for Command nodes.

Boolean specific: accesses the integer value for true.

Command specific: accesses the integer value for execute.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_OffValue 

Accesses the integer value for false for Boolean nodes.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_Formula 

Formula for SwissKnife nodes.

Use the GSNGetInfoAsString and GSNSetInfoAsString functions to access the value.

GSNI_ImposedAccessMode 

Accesses the TAccessMode of the node overriding the nodes it depends on.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

GSNI_IsImplemented 

Accesses the IInteger node defining whether the node is implemented or not.

Use the GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_IsAvailable 

Accesses the IInteger node defining whether the node is available.

Use the GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_IsLocked 

Accesses the IInteger node defining whether the node is read only.

Use the GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Alias 

Accesses the alias node of this node.

Use the GSNGetInfoAsNode and GSNSetInfoAsNode functions to access the value.

GSNI_Sign 

Accesses the TGSNumberSign of integer registers.

Use the GSNGetInfoAsInteger and GSNSetInfoAsInteger functions to access the value.

◆ TGSNodeList

Defines which kinds of node-relations are to be accessed.

With the node list dependent nodes can be accessed, e.g. a categorized node of a category.

Supported platforms:
Win32
Win64
Linux
Related Topics:
GSNListCount, GSNAddNode, GSNRemoveNode, GSNRemoveNodeEx, GSNGetNode, GSNList, GSNListEx, GSGetNode
See the Feature Interfaces in the Theory of Operation chapter for a list of available properties per type.
Examples:
Visual C++ - VC GevServer Example
Sample in Visual C++:
For an example see the CreateGSEnumerationNode and CreateGSIntSwissKnifeNode functions.
Enumerator
GSNL_Child 

Nodes are accessed as a child nodes.

The child node type depends on the parent node used:

  • ICategory: Categorized INodes.
  • IEnumeration: Entry list of IEnumEntry nodes.
  • ISwissKnifes: Variable list of IIntegers nodes (use Ex functions only where the key is the variable name (must be capitalized)).
GSNL_Selected 

Nodes that are selected by the queried node.

This is possible for IIntegerNode and IEnumeration parents.

GSNL_Invalidator 

Nodes which invalidate the parent's cache when changed.

This is possible for IRegister nodes as parents. The invalidator nodes must be IIntegers.

GSNL_Addresses 

Nodes which enable dynamic address calculation for e.g. selectors.

This is possible for IRegister nodes as parents and the address nodes must be IIntegers.

◆ TGSNodeType

Available GSNODE types.

This enumeration defines the publicly available node types. The values are returned by the GSNType function.

Supported platforms:
Win32
Win64
Linux
Related Topics:
GSNType, CreateGSBooleanNode, CreateGSCategoryNode, CreateGSCommandNode, CreateGSEnumEntryNode, CreateGSEnumerationNode, CreateGSInt32Node, CreateGSInt64Node, CreateGSIntegerNode, CreateGSIntSwissKnifeNode, CreateGSStringNode, GSNGetInfoAsInteger
See the Feature Interfaces in the Theory of Operation chapter for a list of types and their properties.
Enumerator
GSNT_Invalid 

Node is invalid.

Only returned on an invalid node handle.

GSNT_Unknown 

Node is of unknown type, e.g. non-publicly accessible.

GSNT_Category 

Node is an ICategory node (floating node).

GSNT_IntReg 

Node is an IIntReg node.

You can check whether this is an Int32 or Int64 register by reading the node's register size: GSNI_RegisterLength.

GSNT_StringReg 

Node is an IStringReg node.

You can get the string length by reading the node's register size: GSNI_RegisterLength.

GSNT_Integer 

Node is an IIntegerNode (floating node).

GSNT_Boolean 

Node is an IBoolean node (floating node).

GSNT_Command 

Node is an ICommand node (floating node).

GSNT_Enumeration 

Node is an IEnumeration node (floating node).

GSNT_EnumEntry 

Node is an IEnumEntry node (floating node).

GSNT_IntSwissKnife 

Node is an IIntSwissKnife node (floating node).

◆ TGSNumberRepresentation

Possible number representations for IInteger nodes.

Note
Use the GSNGetInfoAsInteger and the GSNSetInfoAsInteger functions to access the values.
Supported platforms:
Win32
Win64
Related Topics:
GSNGetInfoAsInteger, GSNSetInfoAsInteger
See the of the IInteger description Theory of Operation chapter for more information
Enumerator
GSNR_None 

Used to save status 'not set' for XML.

Mostly interpreted as GSNR_PureNumber.

GSNR_Linear 

Linear scaling (slider representation).

GSNR_Logarithmic 

Logarithmic scaling (logarithmic slider).

GSNR_Boolean 

Interpreted as True (everything but 0) or False (0).

GSNR_PureNumber 

Number (without slider).

GSNR_HexNumber 

Hexadecimal number.

◆ TGSNumberSign

Possible sign state of numeric register nodes.

This defines the maximal and minimal possible value of the IIntReg node.

Note
Use the GSNGetInfoAsInteger and the GSNSetInfoAsInteger functions to access the values.
Supported platforms:
Win32
Win64
Linux
Related Topics:
GSNGetInfoAsInteger, GSNSetInfoAsInteger
See the of the IIntReg description Theory of Operation chapter for more information.
Enumerator
GSNS_Unsigned 

Value is unsigned.

GSNS_Signed 

Value is signed.

◆ TServerEvent

Server events for which callbacks can be registered.

Use the returned callback ID to unregister registered events. If the server object is destroyed also all events are removed.

As soon as the application calls the GSStartIPv4 function on the server it transfers the acquisition control to the clients. To then be able to react to certain state changes these events can be registered.

Attention
Most of the events except SE_ImageSnapped are fired from the server's control thread. Do not do lengthy processing in these events as the server is then not accessible and the connection may be lost.
Also the control thread and the acquisition thread for SE_ImageSnapped are not user interface threads. Thus take care when accessing UI related functions/methods.
Supported platforms:
Win32
Win64
Linux
Related Topics:
TAcquisitionMode, GSRegisterEvent, GSUnregisterEvent, GSStartIPv4
See the CVB GEV Server Setup and Possible States in the Theory of Operation chapter.
Enumerator
SE_Connected 

Called when a (controlling) client connects to the server.

Attention
This is not called in a user interface thread context. Thus take care when accessing UI related functions/methods.
SE_Disconnected 

Called when the (controlling) client disconnects from the server.

Attention
This is not called in a user interface thread context. Thus take care when accessing UI related functions/methods.
SE_AcquisitionStart 

Called when the acquisition was started by the (controlling) client.

Especially important for AM_Manual acquisition mode to start images transfer.

Attention
This is not called in a user interface thread context. Thus take care when accessing UI related functions/methods.
SE_AcquisitionStop 

Called when the acquisition was stopped by the client.

Important for AM_Manual acquisition mode to stop sending images.

Attention
This is not called in a user interface thread context. Thus take care when accessing UI related functions/methods.
SE_ImageSnapped 

Called in AM_Automatic acquisition mode when a new image was acquired.

Fired by the server's acquisition thread.

Attention
This is not called in a user interface thread context. Thus take care when accessing UI related functions/methods.