CVB++ 14.1
Cvb::GenApi Namespace Reference

Namespace for GenApi based device configuration. More...

Classes

class  BooleanNode
 Node representing a true / false value. More...
 
class  CategoryNode
 Node that logically groups other nodes. More...
 
class  CommandNode
 A node that can be executed. More...
 
class  EnumEntryNode
 One entry in an enumeration. More...
 
class  EnumerationNode
 A node that presents a choice of values. More...
 
class  FloatNode
 Represents a floating point number. More...
 
class  FloatRegNode
 Floating point value register. More...
 
class  FWUpdater
 Firmware updater class. More...
 
class  IntegerNode
 Represents a integer number. More...
 
class  IntRegNode
 Integer value register. More...
 
class  Node
 Basic GenApi node for device feature access. More...
 
class  NodeMap
 Contains all nodes of a device or module. More...
 
class  NodeMapEnumerator
 Lazy enumeration of node maps.
More...
 
class  PortNode
 Port nodes are the connection to the remote device. More...
 
class  RegisterNode
 Untyped register access (only memory). More...
 
class  SelectorNode
 Groups nodes, that are dependent on this one. More...
 
class  StringNode
 String value node. More...
 
class  StringRegNode
 String value register. More...
 
class  ValueNode
 Base class for all nodes, that have a value. More...
 

Typedefs

using NodeMapPtr = std::shared_ptr< NodeMap >
 Convenience shared pointer for NodeMap.
 
using BooleanNodePtr = std::shared_ptr< BooleanNode >
 Convenience shared pointer for BooleanNode.
 
using CategoryNodePtr = std::shared_ptr< CategoryNode >
 Convenience shared pointer for CategoryNode.
 
using CommandNodePtr = std::shared_ptr< CommandNode >
 Convenience shared pointer for CommandNode.
 
using EnumEntryNodePtr = std::shared_ptr< EnumEntryNode >
 Convenience shared pointer for EnumEntryNode.
 
using EnumerationNodePtr = std::shared_ptr< EnumerationNode >
 Convenience shared pointer for EnumerationNode.
 
using FloatNodePtr = std::shared_ptr< FloatNode >
 Convenience shared pointer for FloatNode.
 
using FloatRegNodePtr = std::shared_ptr< FloatRegNode >
 Convenience shared pointer for FloatRegNode.
 
using IntRegNodePtr = std::shared_ptr< IntRegNode >
 Convenience shared pointer for IntRegNode.
 
using IntegerNodePtr = std::shared_ptr< IntegerNode >
 Convenience shared pointer for IntegerNode.
 
using SelectorNodePtr = std::shared_ptr< SelectorNode >
 Convenience shared pointer for SelectorNode.
 
using NodePtr = std::shared_ptr< Node >
 Convenience shared pointer for Node.
 
using PortNodePtr = std::shared_ptr< PortNode >
 Convenience shared pointer for PortNode.
 
using RegisterNodePtr = std::shared_ptr< RegisterNode >
 Convenience shared pointer for RegisterNode.
 
using StringNodePtr = std::shared_ptr< StringNode >
 Convenience shared pointer for StringNode.
 
using StringRegNodePtr = std::shared_ptr< StringRegNode >
 Convenience shared pointer for StringRegNode.
 
using ValueNodePtr = std::shared_ptr< ValueNode >
 Convenience shared pointer for ValueNode.
 

Enumerations

enum class  NumberRepresentation {
  Undefined = CExports::NR_Undefined , Linear = CExports::NR_Linear , Logarithmic = CExports::NR_Logarithmic , Boolean = CExports::NR_Boolean ,
  PureNumber = CExports::NR_PureNumber , HexNumber = CExports::NR_HexNumber , IPv4 = CExports::NR_IPv4 , MAC = CExports::NR_MAC
}
 Defines how a number is to be interpreted/displayed in a graphical user interface. More...
 
enum class  ReadWriteVerify { No = CExports::VM_NO , WriteOnly = CExports::VM_WO , ReadOnly = CExports::VM_RO , Both = CExports::VM_RW }
 Controls how read/write operations are verified by the GenApi. More...
 
enum class  AccessMode {
  NotImplemented = CExports::AM_NI , NotAvailable = CExports::AM_NA , NotApplicable = NotAvailable , ReadOnly = CExports::AM_RO ,
  WriteOnly = CExports::AM_WO , ReadWrite = CExports::AM_RW
}
 Access possibility of the node. More...
 
enum class  CacheMode { NoCache = CExports::CM_NoCache , WriteThrough = CExports::CM_WriteThrough , WriteAround = CExports::CM_WriteAround }
 Defines how the value is cached. More...
 
enum class  Visibility { Invisible = CExports::NV_Invisible , Beginner = CExports::NV_Beginner , Expert = CExports::NV_Expert , Guru = CExports::NV_Guru }
 Feature complexity level. More...
 
enum class  FirmwareUpdateInfo { Key = CExports::FWUI_Key , Value = CExports::FWUI_Value , LanguageCode = CExports::FWUI_LanguageCode }
 Defines commands to retrieve firmware information from a guf file. More...
 

Detailed Description

Namespace for GenApi based device configuration.

Remarks
CMake users: Link to imported target CVB::CvbGenApi

Enumeration Type Documentation

◆ AccessMode

enum class AccessMode
strong

Access possibility of the node.

The access mode can change dependent on the device state.

Enumerator
NotImplemented 

Node is not implemented on this device.

Attention
If the node is selected, it can be that the node is only not implemented regarding the current selector(s) value(s)!
NotAvailable 

Node is not available.

Node can become available when the state of the device changes.

NotApplicable 

Node is not available.

Node can become available when the state of the device changes.

Attention
This enumerator will be deprecated in a future release. It is highly recommended to use AccessMode::NotAvailable instead.
ReadOnly 

Node can only be read.

WriteOnly 

Node can only be written to.

ReadWrite 

Node can be read and written to.

◆ CacheMode

enum class CacheMode
strong

Defines how the value is cached.

Enumerator
NoCache 

No caching used.

WriteThrough 

Write to cache and register.

WriteAround 

Write to register, cache written on next read.

◆ FirmwareUpdateInfo

enum class FirmwareUpdateInfo
strong

Defines commands to retrieve firmware information from a guf file.

These commands define which kind of information is retrieved from a guf file.

Enumerator
Key 

Gets the key name for a given index.

Value 

Gets the value for an info key name.

LanguageCode 

Gets the language code for the given update info number.

◆ NumberRepresentation

enum class NumberRepresentation
strong

Defines how a number is to be interpreted/displayed in a graphical user interface.

Enumerator
Undefined 

Not set in XML (treated as linear)

Linear 

Slider with linear behavior.

Logarithmic 

Slider with logarithmic behavior.

Boolean 

True / False representation.

PureNumber 

Decimal number in an edit control.

HexNumber 

Hex number in an edit control.

IPv4 

IPv4 address in an edit control.

MAC 

MAC address in an edit control.

◆ ReadWriteVerify

enum class ReadWriteVerify
strong

Controls how read/write operations are verified by the GenApi.

Enumerator
No 

No verification while reading or writing values.

WriteOnly 

Only write operations are validated (default).

ReadOnly 

Only read operations are validated.

Both 

Both read and write operations are validated.

◆ Visibility

enum class Visibility
strong

Feature complexity level.

The visibility can be used as a filter to hide more complex or even dangerous features in an user interface.

Enumerator
Invisible 

Node should not be displayed.

Beginner 

Simple feature usable by everybody.

Expert 

More complex feature, that requires deeper knowledge about the feature.

Guru 

Very complex and/or dangerous feature.

Attention
Wrong usage of this feature may damage the device.