CVB++ 15.0
Loading...
Searching...
No Matches
gevserver.hpp
1#pragma once
2
3#include "../_cexports/c_gev_server.h"
4
5#include "../global.hpp"
6
7namespace Cvb
8{
9 CVB_BEGIN_INLINE_NS
10
12
22 namespace GevServer
23 {
25
26 class Server;
29
30 class Node;
33
34 class NodeMap;
37
38 class Stream;
41
42 class ValueNode;
45
46 class StringNode;
49
50 class StringRegNode;
53
54 class BooleanNode;
57
58 class CategoryNode;
61
62 class IntegerBaseNode;
65
66 class FloatBaseNode;
69
70 class IntegerNode;
73
74 class FloatNode;
77
78 class Float32RegNode;
81
82 class Float64RegNode;
85
86 class FloatRegNode;
89
90 class IntRegNode;
93
94 class SelectorNode;
97
98 class EnumEntryNode;
101
102 class CommandNode;
105
106 class Int32RegNode;
109
110 class Int64RegNode;
113
114 class EnumerationNode;
117
118 class IntSwissKnifeNode;
121
122 enum class ServerInitType
123 {
124 FixedSize = CExports::GSSI_FixedSize,
125 DynamicSize = CExports::GSSI_DynamicSize
126 };
127
129 enum class DriverType
130 {
131 Auto = CExports::DT_Auto,
132 Socket = CExports::DT_Socket,
133 Filter = CExports::DT_Filter
134 };
135
136 enum class ServerEvent
137 {
138 Connected = CExports::SE_Connected,
139 Disconnected = CExports::SE_Disconnected,
140 AcquisitionStart = CExports::SE_AcquisitionStart,
141 AcquisitionStop = CExports::SE_AcquisitionStop,
142 ImageSnapped = CExports::SE_ImageSnapped
143 };
144
146 enum class Namespace
147 {
148 Standard = CExports::GSNS_Standard,
149 Custom = CExports::GSNS_Custom,
150 Private = CExports::GSNS_Private
151 };
152
154 enum class NodeEvent
155 {
156 Read = CExports::GSNE_Read,
157 Write = CExports::GSNE_Write
158 };
159
161 enum class NodeType
162 {
163 Invalid = CExports::GSNT_Invalid,
164 Unknown = CExports::GSNT_Unknown,
165 Category = CExports::GSNT_Category,
166 IntReg = CExports::GSNT_IntReg,
167 StringReg = CExports::GSNT_StringReg,
168 String = CExports::GSNT_String,
169 Integer = CExports::GSNT_Integer,
170 Boolean = CExports::GSNT_Boolean,
171 Command = CExports::GSNT_Command,
172 Enumeration = CExports::GSNT_Enumeration,
173 EnumEntry = CExports::GSNT_EnumEntry,
174 IntSwissKnife = CExports::GSNT_IntSwissKnife,
175 Float = CExports::GSNT_Float,
176 FloatReg = CExports::GSNT_FloatReg
177 };
178
180 enum class Info
181 {
182 XMLVersionMajor = CExports::GSI_XMLVersionMajor,
183 XMLVersionMinor = CExports::GSI_XMLVersionMinor,
184 XMLVersionSubMinor = CExports::GSI_XMLVersionSubMinor,
185 ServerUserVersion = CExports::GSI_ServerUserVersion,
186 AcquisitionActive = CExports::GSI_AcquisitionActive
187 };
188
190 enum class NodeInfo
191 {
192 Name = CExports::GSNI_Name,
193 DisplayName = CExports::GSNI_DisplayName,
194 AccessMode = CExports::GSNI_AccessMode,
195 Max = CExports::GSNI_Max,
196 Min = CExports::GSNI_Min,
197 Increment = CExports::GSNI_Increment,
198 NumEnumEntries = CExports::GSNI_NumEnumEntries,
199 Streamable = CExports::GSNI_Streamable,
200 CachingMode = CExports::GSNI_CachingMode,
201 ToolTip = CExports::GSNI_Tooltip,
202 Description = CExports::GSNI_Description,
203 Visibility = CExports::GSNI_Visibility,
204 PollingTime = CExports::GSNI_PollingTime,
205 EventID = CExports::GSNI_EventID,
206 NameSpace = CExports::GSNI_Namespace,
207 RegisterLength = CExports::GSNI_RegisterLength,
208 RegisterAddress = CExports::GSNI_RegisterAddress,
209 NumberRepresentation = CExports::GSNI_NumberRepresentation,
210 Value = CExports::GSNI_Value,
211 OnValue = CExports::GSNI_OnValue,
213 OffValue = CExports::GSNI_OffValue,
214 Formula = CExports::GSNI_Formula,
215 ImposedAccessMode = CExports::GSNI_ImposedAccessMode,
218 CExports::GSNI_IsImplemented,
219 IsAvailable = CExports::GSNI_IsAvailable,
220 IsLocked = CExports::GSNI_IsLocked,
221 Alias = CExports::GSNI_Alias,
222 Sign = CExports::GSNI_Sign,
223 Unit = CExports::GSNI_Unit,
225 CExports::GSNI_DisplayPrecision,
226 Last = CExports::GSNI_Last
227 };
228
231 {
232 None = CExports::GSNR_None,
233 Linear = CExports::GSNR_Linear,
234 Logarithmic = CExports::GSNR_Logarithmic,
235 Boolean = CExports::GSNR_Boolean,
236 PureNumber = CExports::GSNR_PureNumber,
237 HexNumber = CExports::GSNR_HexNumber
238 };
239
241 enum class NumberSign
242 {
243 Unsigned = CExports::GSNS_Unsigned,
244 Signed = CExports::GSNS_Signed
245 };
246
248 enum class NodeList
249 {
250 Child = CExports::GSNL_Child,
254 Selected = CExports::GSNL_Selected,
255 Invalidator = CExports::GSNL_Invalidator,
256 Addresses = CExports::GSNL_Addresses
257 };
258
260 enum class PayloadType
261 {
262 Image = CExports::GSPT_Image,
263 File = CExports::GSPT_File,
264 ChunkImage = CExports::GSPT_ChunkImage
265 };
266
267 enum class PixelFormat
268 {
269 Mono8 = CExports::GSPF_Mono8,
270 Mono10 = CExports::GSPF_Mono10,
271 Mono12 = CExports::GSPF_Mono12,
272 Mono14 = CExports::GSPF_Mono14,
273 Mono16 = CExports::GSPF_Mono16,
274 RGB8 = CExports::GSPF_RGB8,
275 BGR8 = CExports::GSPF_BGR8,
276 RGBA8 = CExports::GSPF_RGBA8,
277 BGRA8 = CExports::GSPF_BGRA8
278 };
279 } // namespace GevServer
280
281 CVB_END_INLINE_NS
282} // namespace Cvb
283
Contains all nodes of a device or module.
Definition decl_node_map.hpp:37
GenApi::BooleanNode that is configurable.
Definition boolean_node.hpp:29
Node that logically groups other nodes.
Definition category_node.hpp:16
A node that can be executed.
Definition command_node.hpp:30
One entry in an enumeration.
Definition enum_entry_node.hpp:18
A GenApi::EnumerationNode that is configurable.
Definition enumeration_node.hpp:27
An float32 FloatRegNode node.
Definition float_32_reg_node.hpp:17
An float64 FloatRegNode node.
Definition float_64_reg_node.hpp:17
Represents a floating point number.
Definition float_base_node.hpp:16
Represents a floating point number.
Definition float_node.hpp:26
Floating point value register.
Definition float_reg_node.hpp:24
An Int32 IntRegNode node.
Definition int_32_reg_node.hpp:17
An Int64 IntRegNode node.
Definition int_64_reg_node.hpp:17
Integer value register.
Definition int_reg_node.hpp:24
Read only node to calculate formulas on the client side with integer arithmetic.
Definition decl_int_swiss_knife_node.hpp:28
Represents an integer number.
Definition integer_base_node.hpp:16
Represents a integer number.
Definition integer_node.hpp:26
Basic GevServer node for device feature access.
Definition decl_node.hpp:34
Groups other nodes that are dependent on this one.
Definition selector_node.hpp:21
Common Vision Blox GigE Vision Server implements a GigE Vision camera in software.
Definition decl_server.hpp:44
The stream to send Images or other data.
Definition decl_stream.hpp:19
String value node.
Definition string_node.hpp:25
String value register.
Definition string_reg_node.hpp:24
Base class for all nodes that have a value.
Definition value_node.hpp:21
Describes a GenICam Pixel Format Naming Convention (PFNC) compatible image memory buffer with possibl...
Definition decl_int_swiss_knife_node.hpp:11
NumberSign
The signedness of the number.
Definition gevserver.hpp:242
@ Signed
Signed.
Definition gevserver.hpp:244
@ Unsigned
Unsigned.
Definition gevserver.hpp:243
Namespace
The possible name spaces a node can be in.
Definition gevserver.hpp:147
@ Custom
Custom name space.
Definition gevserver.hpp:149
@ Standard
Standard name space.
Definition gevserver.hpp:148
std::shared_ptr< Node > NodePtr
Convenience shared pointer for Node.
Definition gevserver.hpp:32
PayloadType
The type of the payload.
Definition gevserver.hpp:261
@ File
File payload.
Definition gevserver.hpp:263
@ ChunkImage
Chunk image payload.
Definition gevserver.hpp:264
@ Image
Image payload.
Definition gevserver.hpp:262
Info
General version and acquisition information.
Definition gevserver.hpp:181
@ AcquisitionActive
Acquisition active info.
Definition gevserver.hpp:186
@ XMLVersionMinor
Minor XML version info.
Definition gevserver.hpp:183
@ ServerUserVersion
User version of the server.
Definition gevserver.hpp:185
@ XMLVersionSubMinor
Sub minor XML version info.
Definition gevserver.hpp:184
@ XMLVersionMajor
Major XML version info.
Definition gevserver.hpp:182
std::shared_ptr< EnumEntryNode > EnumEntryNodePtr
Convenience shared pointer for EnumEntryNode.
Definition gevserver.hpp:100
std::shared_ptr< Stream > StreamPtr
Convenience shared pointer for Stream.
Definition gevserver.hpp:40
std::shared_ptr< IntegerBaseNode > IntegerBaseNodePtr
Convenience shared pointer for IntegerBaseNode.
Definition gevserver.hpp:64
std::shared_ptr< StringRegNode > StringRegNodePtr
Convenience shared pointer for StringRegNode.
Definition gevserver.hpp:52
std::shared_ptr< StringNode > StringNodePtr
Convenience shared pointer for StringNode.
Definition gevserver.hpp:48
DriverType
GigE Vision driver to use for communication and streaming.
Definition gevserver.hpp:130
@ Auto
Auto select driver type.
Definition gevserver.hpp:131
@ Socket
Socket driver.
Definition gevserver.hpp:132
@ Filter
Filter driver.
Definition gevserver.hpp:133
std::shared_ptr< BooleanNode > BooleanNodePtr
Convenience shared pointer for BooleanNode.
Definition gevserver.hpp:56
std::shared_ptr< NodeMap > NodeMapPtr
Convenience shared pointer for NodeMap.
Definition gevserver.hpp:36
std::shared_ptr< Int32RegNode > Int32RegNodePtr
Convenience shared pointer for Int32RegNode.
Definition gevserver.hpp:108
std::shared_ptr< SelectorNode > SelectorNodePtr
Convenience shared pointer for SelectorNode.
Definition gevserver.hpp:96
std::shared_ptr< CommandNode > CommandNodePtr
Convenience shared pointer for CommandNode.
Definition gevserver.hpp:104
std::shared_ptr< EnumerationNode > EnumerationNodePtr
Convenience shared pointer for EnumerationNode.
Definition gevserver.hpp:116
std::shared_ptr< Server > ServerPtr
Convenience shared pointer for GevServer.
Definition gevserver.hpp:28
std::shared_ptr< Float32RegNode > Float32RegNodePtr
Convenience shared pointer for Float43RegNode.
Definition gevserver.hpp:80
std::shared_ptr< IntegerNode > IntegerNodePtr
Convenience shared pointer for IntegerNode.
Definition gevserver.hpp:72
std::shared_ptr< Float64RegNode > Float64RegNodePtr
Convenience shared pointer for Float64RegNode.
Definition gevserver.hpp:84
std::shared_ptr< FloatRegNode > FloatRegNodePtr
Convenience shared pointer for FloatNode.
Definition gevserver.hpp:88
NodeInfo
Possible information a node can hold.
Definition gevserver.hpp:191
@ AccessMode
Gets the access mode of the node.
Definition gevserver.hpp:194
@ ImposedAccessMode
Definition gevserver.hpp:215
@ NumEnumEntries
Number of enumeration entries for NInfoEnum.
Definition gevserver.hpp:198
@ DisplayPrecision
Accesses the float node's display precision configuration.
Definition gevserver.hpp:224
@ PollingTime
Gets the polling time in ms.
Definition gevserver.hpp:204
@ IsAvailable
Accesses the IInteger node defining whether the node is available.
Definition gevserver.hpp:219
@ Visibility
Gets the visibility level.
Definition gevserver.hpp:203
@ Unit
Accesses the unit of a node as string.
Definition gevserver.hpp:223
@ Formula
Formula for swiss knife nodes.
Definition gevserver.hpp:214
@ Sign
Accesses the signed or unsigned state of integer registers.
Definition gevserver.hpp:222
@ CachingMode
Gets the caching mode.
Definition gevserver.hpp:200
@ DisplayName
Gets the display name of the node.
Definition gevserver.hpp:193
@ OnValue
Definition gevserver.hpp:211
@ Name
Gets the full name of the node.
Definition gevserver.hpp:192
@ EventID
Gets the event ID if available.
Definition gevserver.hpp:205
@ Value
Accesses the value configuration.
Definition gevserver.hpp:210
@ OffValue
Boolean specific: accesses the integer value for false.
Definition gevserver.hpp:213
@ Max
Gets the maximum value.
Definition gevserver.hpp:195
@ Increment
Gets the increment.
Definition gevserver.hpp:197
@ Min
Gets the minimum value.
Definition gevserver.hpp:196
@ IsLocked
Accesses the IInteger node defining whether the node is read only.
Definition gevserver.hpp:220
@ Streamable
Information on the streamability of the node.
Definition gevserver.hpp:199
@ Description
Gets the long descriptive text.
Definition gevserver.hpp:202
@ Last
Node last.
Definition gevserver.hpp:226
@ IsImplemented
Access the IInteger node defining whether the node is implemented.
Definition gevserver.hpp:217
@ NameSpace
Gets the node namespace.
Definition gevserver.hpp:206
@ RegisterAddress
Gets the current address of the register (can change).
Definition gevserver.hpp:208
@ Alias
Accesses the alias node of this node.
Definition gevserver.hpp:221
@ ToolTip
Gets the tool tip (short description).
Definition gevserver.hpp:201
@ RegisterLength
Gets the register nodes length in bytes.
Definition gevserver.hpp:207
std::shared_ptr< ValueNode > ValueNodePtr
Convenience shared pointer for ValueNode.
Definition gevserver.hpp:44
std::shared_ptr< CategoryNode > CategoryNodePtr
Convenience shared pointer for CategoryNode.
Definition gevserver.hpp:60
std::shared_ptr< Int64RegNode > Int64RegNodePtr
Convenience shared pointer for Int32RegNode.
Definition gevserver.hpp:112
std::shared_ptr< FloatNode > FloatNodePtr
Convenience shared pointer for FloatNode.
Definition gevserver.hpp:76
NodeType
Available node types.
Definition gevserver.hpp:162
@ StringReg
Node is a string register node.
Definition gevserver.hpp:167
@ Float
Node is a float node (no reg).
Definition gevserver.hpp:175
@ String
Node is a string node (no reg).
Definition gevserver.hpp:168
@ Boolean
Node is a boolean node (no reg).
Definition gevserver.hpp:170
@ Enumeration
Node is an enumeration node (no reg).
Definition gevserver.hpp:172
@ Category
Node is a category node.
Definition gevserver.hpp:165
@ EnumEntry
Node is an enumeration entry node (no reg).
Definition gevserver.hpp:173
@ IntReg
Node is an integer register node.
Definition gevserver.hpp:166
@ Invalid
Node is invalid.
Definition gevserver.hpp:163
@ IntSwissKnife
Node is an integer swiss knife node (no reg).
Definition gevserver.hpp:174
@ Unknown
Node is of unknown type.
Definition gevserver.hpp:164
@ Integer
Node is an integer node (no reg).
Definition gevserver.hpp:169
@ FloatReg
Node is a float register node.
Definition gevserver.hpp:176
@ Command
Node is a command node (no reg).
Definition gevserver.hpp:171
NumberRepresentation
Defines how a number is to be interpreted/displayed in a graphical user interface.
Definition gevserver.hpp:231
@ Logarithmic
Logarithmic number representation.
Definition gevserver.hpp:234
@ Linear
Linear number representation.
Definition gevserver.hpp:233
@ None
No number representation.
Definition gevserver.hpp:232
@ HexNumber
Hexadecimal number representation.
Definition gevserver.hpp:237
@ PureNumber
Pure number representation.
Definition gevserver.hpp:236
std::shared_ptr< FloatBaseNode > FloatBaseNodePtr
Convenience shared pointer for FloatBaseNode.
Definition gevserver.hpp:68
std::shared_ptr< IntRegNode > IntRegNodePtr
Convenience shared pointer for IntRegNode.
Definition gevserver.hpp:92
std::shared_ptr< IntSwissKnifeNode > IntSwissKnifeNodePtr
Convenience shared pointer for IntSwissKnifeNode.
Definition gevserver.hpp:120
NodeEvent
Node event.
Definition gevserver.hpp:155
@ Write
"Write to node.
Definition gevserver.hpp:157
@ Read
Read from node.
Definition gevserver.hpp:156
NodeList
Node access.
Definition gevserver.hpp:249
@ Addresses
Node accesses the register address nodes (not constants).
Definition gevserver.hpp:256
@ Selected
Node accesses the selected nodes.
Definition gevserver.hpp:254
@ Child
Definition gevserver.hpp:250
@ Invalidator
Node accesses the invalidator nodes.
Definition gevserver.hpp:255
@ RGB8
Red-Green-Blue 8-bit.
Definition pfnc_format.hpp:193
@ Mono12
Monochrome 12-bit unpacked.
Definition pfnc_format.hpp:53
@ Mono14
Monochrome 14-bit unpacked.
Definition pfnc_format.hpp:61
@ Mono16
Monochrome 16-bit.
Definition pfnc_format.hpp:65
@ Mono10
Monochrome 10-bit unpacked.
Definition pfnc_format.hpp:45
@ Mono8
Monochrome 8-bit.
Definition pfnc_format.hpp:37
@ BGR8
Blue-Green-Red 8-bit.
Definition pfnc_format.hpp:273
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
@ Connected
The Device object is currently connected to the remote hardware.
Definition global.hpp:506
@ Disconnected
The Device object is currently disconnected from the remote hardware.
Definition global.hpp:508
An IP network interface the GevServer can be bound to.
Definition logical_network_interface.hpp:27