3#include "../namespace.hpp"
5#include "../string.hpp"
16typedef void* GEVIFACELIST;
19typedef cvbuint32_t gsipv4;
20typedef cvbuint16_t gsport;
22typedef void(__stdcall* TFGEVSrv)(
void* pPrivate);
23typedef void(__stdcall* TFGEVSrvStatus)(cvbres_t& status,
void* pPrivate);
87 GSI_XMLVersionMajor = 0,
89 GSI_XMLVersionSubMinor,
90 GSI_ServerUserVersion,
112 GSNI_RegisterAddress,
113 GSNI_NumberRepresentation,
119 GSNI_ImposedAccessMode,
126 GSNI_DisplayPrecision,
130enum TGSNumberRepresentation
160 GSPT_ChunkImage = 0x4001
165 GSPF_Mono8 = 0x01080001,
166 GSPF_Mono10 = 0x01100003,
167 GSPF_Mono12 = 0x01100005,
168 GSPF_Mono14 = 0x01100025,
169 GSPF_Mono16 = 0x01100007,
170 GSPF_RGB8 = 0x02180014,
171 GSPF_BGR8 = 0x02180015,
172 GSPF_RGBA8 = 0x02200016,
173 GSPF_BGRA8 = 0x02200017
191 cvbuint8_t Address[6];
198 cvbuint32_t PayloadType;
203struct GSImageDataBlock
206 cvbuint32_t PixelFormat;
211 cvbuint32_t XPadding;
212 cvbuint32_t YPadding;
213 cvbuint32_t ActualHeight;
218struct GSExtendedChunkDataBlock
220 GSImageDataBlock ImageData;
221 cvbuint32_t ChunkPayloadSize;
222 cvbuint32_t ChunkLayoutID;
227struct GSFileDataBlock
230 const char* Filename;
237 cvbuint32_t InitType;
242struct GSFixedSizeInitInfo
244 TGSServerInitType initType;
245 cvbuint32_t PixelFormat;
246 const char* PixelFormatName;
249 intptr_t PayloadSize;
254struct GSDynamicSizeInitInfo
256 GSFixedSizeInitInfo Header;
257 cvbuint32_t MaxWidth;
258 cvbuint32_t MaxHeight;
262CVB_DEF_CAPI(GEVIFACELIST, CreateInterfaceList, (
void));
263CVB_DEF_CAPI_X(cvbbool_t, IsInterfaceList, (GEVIFACELIST List));
264CVB_DEF_CAPI(
size_t, ILCount, (GEVIFACELIST List));
265CVB_DEF_CAPI(cvbres_t,
267 (GEVIFACELIST List,
size_t Index, gsipv4& IPv4));
268CVB_DEF_CAPI(cvbres_t,
270 (GEVIFACELIST List,
size_t Index, gsipv4& SubnetMask));
271CVB_DEF_CAPI(cvbres_t,
273 (GEVIFACELIST List,
size_t Index, ILMAC& MACAddress));
275CVB_DEF_CAPI(GEVSRV, CreateGevServer, (
void));
276CVB_DEF_CAPI(GEVSRV, CreateGevServerEx, (TDriver DriverType));
278CVB_DEF_CAPI(cvbres_t, GSSetImage, (GEVSRV Server, IMG Image));
279CVB_DEF_CAPI(cvbres_t, GSGetImage, (GEVSRV Server, IMG& Image));
280CVB_DEF_CAPI(cvbres_t,
281 GSSetAcquisitionMode,
282 (GEVSRV Server, TAcquisitionMode Mode));
283CVB_DEF_CAPI(cvbres_t,
284 GSGetAcquisitionMode,
285 (GEVSRV Server, TAcquisitionMode& Mode));
289 (TDriver DriverType,
const GSInitInfo& InitInfo));
291CVB_DEF_CAPI(cvbbool_t, GSDriverTypePresent, (TDriver DriverType));
292CVB_DEF_CAPI_X(cvbbool_t, IsGevServer, (GEVSRV Server));
293CVB_DEF_CAPI(cvbres_t, GSDriverType, (GEVSRV Server, TDriver& DriverType));
294CVB_DEF_CAPI(cvbres_t, GSStartIPv4, (GEVSRV Server, gsipv4 IPv4));
295CVB_DEF_CAPI(cvbres_t, GSStartIPv4Ex, (GEVSRV Server, gsipv4 IPv4, gsport Port));
296CVB_DEF_CAPI(cvbres_t,
298 (GEVSRV Server,
const gsipv4* IPv4List,
size_t IPv4ListLength));
299CVB_DEF_CAPI(cvbres_t, GSStop, (GEVSRV Server));
301CVB_DEF_CAPI(cvbres_t,
303 (GEVSRV Server, gsipv4& IPv4, gsport& Port));
304CVB_DEF_CAPI(cvbres_t,
306 (GEVSRV Server, gsipv4& IPv4, gsport& Port));
307CVB_DEF_CAPI(cvbres_t, GSSendCurrentImage, (GEVSRV Server));
308CVB_DEF_CAPI(cvbres_t, GSSendImage, (GEVSRV Server, IMG Image));
312 (GEVSRV Server, IMG Image, TFGEVSrv ImageBlockRelease,
void* pPrivate));
313CVB_DEF_CAPI(cvbres_t,
316 const GSDataBlock& BlockInfo,
317 const cvbuint8_t* pBlock,
319 TFGEVSrv BlockRelease,
322CVB_DEF_CAPI(cvbres_t,
323 GSRegisterGenApiEvent,
325 const char* EventName,
326 TGSNamespace Namespace,
327 cvbuint16_t& eventID));
328CVB_DEF_CAPI(cvbres_t,
329 GSRegisterGenApiEventW,
331 const wchar_t* EventName,
332 TGSNamespace Namespace,
333 cvbuint16_t& eventID));
334CVB_DEF_CAPI(cvbres_t,
335 GSIsGenApiEventActive,
336 (GEVSRV, cvbuint16_t eventID, cvbbool_t& active));
337CVB_DEF_CAPI(cvbres_t, GSSendEvent, (GEVSRV Server, cvbuint16_t eventID));
341 (GEVSRV Server, cvbuint16_t eventID,
const cvbuint8_t* pData,
size_t DataSize));
343CVB_DEF_CAPI(cvbres_t,
346 TServerEvent EventID,
349 size_t& CallbackID));
350CVB_DEF_CAPI(cvbres_t,
352 (GEVSRV Server, TServerEvent EventID,
size_t CallbackID));
354CVB_DEF_CAPI(cvbres_t,
355 GSGetPacketResendBuffers,
356 (GEVSRV Server, cvbval_t& NumResends));
357CVB_DEF_CAPI(cvbres_t,
358 GSSetPacketResendBuffers,
359 (GEVSRV Server, cvbval_t NumResends));
361CVB_DEF_CAPI(cvbres_t,
363 (GEVSRV Server, TGSInfo Cmd, cvbint64_t& Info));
364CVB_DEF_CAPI(cvbres_t,
366 (GEVSRV Server, TGSInfo Cmd, cvbint64_t Info));
367CVB_DEF_CAPI(cvbres_t,
369 (GEVSRV Server, TGSInfo Cmd,
char* Info,
size_t& Length));
370CVB_DEF_CAPI(cvbres_t,
372 (GEVSRV Server, TGSInfo Cmd,
wchar_t* Info,
size_t& Length));
373CVB_DEF_CAPI(cvbres_t,
375 (GEVSRV Server, TGSInfo Cmd,
const char* Info));
376CVB_DEF_CAPI(cvbres_t,
378 (GEVSRV Server, TGSInfo Cmd,
const wchar_t* Info));
380CVB_DEF_CAPI(cvbres_t,
382 (GEVSRV Server,
const char* NodeName, GSNODE& Node));
383CVB_DEF_CAPI(cvbres_t,
385 (GEVSRV Server,
const wchar_t* NodeName, GSNODE& Node));
386CVB_DEF_CAPI(cvbres_t, GSAddNode, (GEVSRV Server, GSNODE Node));
387CVB_DEF_CAPI(cvbres_t, GSRemoveNode, (GEVSRV Server, GSNODE Node));
388CVB_DEF_CAPI(cvbres_t, GSNodeCount, (GEVSRV Server,
size_t& NodeCount));
389CVB_DEF_CAPI(cvbres_t,
391 (GEVSRV Server,
size_t Index,
char* EntryName,
size_t& EntryLength));
392CVB_DEF_CAPI(cvbres_t,
394 (GEVSRV Server,
size_t Index,
wchar_t* EntryName,
size_t& EntryLength));
398 (
const char* NodeName, TGSNamespace Namespace));
400 CreateGSBooleanNodeW,
401 (
const wchar_t* NodeName, TGSNamespace Namespace));
403 CreateGSCategoryNode,
404 (
const char* NodeName, TGSNamespace Namespace));
405CVB_DEF_CAPI(GSNODE, CreateGSCategoryNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
408 (
const char* NodeName, TGSNamespace Namespace));
409CVB_DEF_CAPI(GSNODE, CreateGSCommandNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
411 CreateGSEnumerationNode,
412 (
const char* NodeName, TGSNamespace Namespace));
413CVB_DEF_CAPI(GSNODE, CreateGSEnumerationNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
415 CreateGSEnumEntryNode,
416 (
const char* NodeName, TGSNamespace Namespace));
417CVB_DEF_CAPI(GSNODE, CreateGSEnumEntryNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
419 CreateGSStringRegNode,
420 (
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length));
422 CreateGSStringRegNodeW,
423 (
const wchar_t* NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length));
424CVB_DEF_CAPI(GSNODE, CreateGSStringNodeEx, (
const char* NodeName, TGSNamespace Namespace));
425CVB_DEF_CAPI(GSNODE, CreateGSStringNodeWEx, (
const wchar_t* NodeName, TGSNamespace Namespace));
428 (
const char* NodeName, TGSNamespace Namespace));
429CVB_DEF_CAPI(GSNODE, CreateGSIntegerNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
430CVB_DEF_CAPI(GSNODE, CreateGSFloatNode, (
const char* NodeName, TGSNamespace Namespace));
431CVB_DEF_CAPI(GSNODE, CreateGSFloatNodeW, (
const wchar_t * NodeName, TGSNamespace Namespace));
433 CreateGSIntSwissKnifeNode,
434 (
const char* NodeName, TGSNamespace Namespace));
435CVB_DEF_CAPI(GSNODE, CreateGSIntSwissKnifeNodeW, (
const wchar_t *NodeName, TGSNamespace Namespace));
438 (
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address));
439CVB_DEF_CAPI(GSNODE, CreateGSInt32NodeW, (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address));
440CVB_DEF_CAPI(GSNODE, CreateGSFloat32Node, (
const char *NodeName, TGSNamespace Namespace, cvbint64_t Address));
441CVB_DEF_CAPI(GSNODE, CreateGSFloat32NodeW, (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address));
444 (
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address));
445CVB_DEF_CAPI(GSNODE, CreateGSInt64NodeW, (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address));
446CVB_DEF_CAPI(GSNODE, CreateGSFloat64Node, (
const char *NodeName, TGSNamespace Namespace, cvbint64_t Address));
447CVB_DEF_CAPI(GSNODE, CreateGSFloat64NodeW, (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address));
450 (
const char* NodeName,
451 TGSNamespace Namespace,
456 (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length));
458 CreateGSFloatRegNode,
459 (
const char* NodeName,
460 TGSNamespace Namespace,
464 CreateGSFloatRegNodeW,
465 (
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length));
466CVB_DEF_CAPI(cvbres_t, GSNType, (GSNODE Node, TGSNodeType& Type));
467CVB_DEF_CAPI_X(cvbbool_t, IsGSNode, (GSNODE Node));
469CVB_DEF_CAPI(cvbres_t,
472 TGSNodeEvent EventID,
475 size_t& CallbackID));
476CVB_DEF_CAPI(cvbres_t,
477 GSNRegisterEventWithStatus,
479 TGSNodeEvent EventID,
480 TFGEVSrvStatus Callback,
482 size_t& CallbackID));
483CVB_DEF_CAPI(cvbres_t,
485 (GSNODE Node, TGSNodeEvent EventID,
size_t CallbackID));
486CVB_DEF_CAPI(cvbres_t,
488 (GSNODE Node, TGSNodeInfo Cmd, cvbint64_t& Info));
489CVB_DEF_CAPI(cvbres_t,
491 (GSNODE Node, TGSNodeInfo Cmd, cvbint64_t Info));
492CVB_DEF_CAPI(cvbres_t,
494 (GSNODE Node, TGSNodeInfo Cmd,
char* Info,
size_t& Length));
495CVB_DEF_CAPI(cvbres_t, GSNGetInfoAsFloat, (GSNODE Node, TGSNodeInfo Cmd,
double& Info));
496CVB_DEF_CAPI(cvbres_t, GSNSetInfoAsFloat, (GSNODE Node, TGSNodeInfo Cmd,
double Info));
497CVB_DEF_CAPI(cvbres_t, GSNGetInfoAsStringW, (GSNODE Node, TGSNodeInfo Cmd,
wchar_t *Info,
size_t &Length));
498CVB_DEF_CAPI(cvbres_t,
500 (GSNODE Node, TGSNodeInfo Cmd,
const char* Info));
501CVB_DEF_CAPI(cvbres_t, GSNSetInfoAsStringW, (GSNODE Node, TGSNodeInfo Cmd,
const wchar_t *Info));
502CVB_DEF_CAPI(cvbres_t,
504 (GSNODE Node, TGSNodeInfo Cmd, GSNODE& ValueNode));
505CVB_DEF_CAPI(cvbres_t,
507 (GSNODE Node, TGSNodeInfo Cmd, GSNODE ValueNode));
509CVB_DEF_CAPI(cvbres_t, GSNAddNode, (GSNODE Node, TGSNodeList Cmd, GSNODE ToAdd));
510CVB_DEF_CAPI(cvbres_t,
512 (GSNODE Node, TGSNodeList Cmd,
const char* Key, GSNODE ToAdd));
513CVB_DEF_CAPI(cvbres_t, GSNAddNodeExW, (GSNODE Node, TGSNodeList Cmd,
const wchar_t *Key, GSNODE ToAdd));
517 (GSNODE Node, TGSNodeList Cmd,
const char* NodeName, GSNODE& ChildNode));
518CVB_DEF_CAPI(cvbres_t, GSNGetNodeW, (GSNODE Node, TGSNodeList Cmd,
const wchar_t *NodeName, GSNODE &ChildNode));
519CVB_DEF_CAPI(cvbres_t,
521 (GSNODE Node, TGSNodeList Cmd, GSNODE ToRemove));
522CVB_DEF_CAPI(cvbres_t,
524 (GSNODE Node, TGSNodeList Cmd,
const char* Key));
525CVB_DEF_CAPI(cvbres_t, GSNRemoveNodeExW, (GSNODE Node, TGSNodeList Cmd,
const wchar_t *Key));
526CVB_DEF_CAPI(cvbres_t,
528 (GSNODE Node, TGSNodeList Cmd,
size_t& NodeCoGSNListunt));
529CVB_DEF_CAPI(cvbres_t,
535 size_t& EntryLength));
536CVB_DEF_CAPI(cvbres_t, GSNListW, (GSNODE Node, TGSNodeList Cmd,
size_t Index,
wchar_t *EntryName,
size_t &EntryLength));
537CVB_DEF_CAPI(cvbres_t,
546CVB_DEF_CAPI(cvbres_t,
556CVB_DEF_CAPI(cvbres_t, GSNGetAsBoolean, (GSNODE Node, cvbbool_t& Value));
557CVB_DEF_CAPI(cvbres_t, GSNGetAsInteger, (GSNODE Node, cvbint64_t& Value));
558CVB_DEF_CAPI(cvbres_t, GSNGetAsFloat, (GSNODE Node,
double& Value));
559CVB_DEF_CAPI(cvbres_t,
561 (GSNODE Node,
char* Value,
size_t& ValueSize));
562CVB_DEF_CAPI(cvbres_t, GSNGetAsStringW, (GSNODE Node,
wchar_t *Value,
size_t &ValueSize));
563CVB_DEF_CAPI(cvbres_t, GSNSetAsBoolean, (GSNODE Node, cvbbool_t Value));
564CVB_DEF_CAPI(cvbres_t, GSNSetAsInteger, (GSNODE Node, cvbint64_t Value));
565CVB_DEF_CAPI(cvbres_t, GSNSetAsFloat, (GSNODE Node,
double Value));
566CVB_DEF_CAPI(cvbres_t, GSNSetAsString, (GSNODE Node,
const char* Value));
567CVB_DEF_CAPI(cvbres_t, GSNSetAsStringW, (GSNODE Node,
const wchar_t* Value));
569CVB_DEF_CAPI_X(cvbres_t, GSGetLastErrorString, (
char* Error,
size_t& Length));
570CVB_DEF_CAPI(cvbres_t,
572 (gsipv4 IPv4,
char* IPString,
size_t& Length));
573CVB_DEF_CAPI(cvbres_t, GSStringToIPv4, (
const char* IPString, gsipv4& IPv4));
574CVB_DEF_CAPI(cvbres_t,
576 (ILMAC MACAddress,
char* MACString,
size_t& Length));
577CVB_DEF_CAPI(cvbres_t, GSStringToMAC, (
const char* MACString, ILMAC& MACAddress));
583GSRegisterGenApiEventTyped(GEVSRV Server,
const char *EventName, TGSNamespace Namespace, cvbuint16_t &eventID)
585 return CVB_CALL_CAPI(GSRegisterGenApiEvent(Server, EventName, Namespace, eventID));
589GSRegisterGenApiEventTyped(GEVSRV Server,
const wchar_t *EventName, TGSNamespace Namespace, cvbuint16_t &eventID)
591 return CVB_CALL_CAPI(GSRegisterGenApiEventW(Server, EventName, Namespace, eventID));
594inline cvbres_t GSGetInfoAsStringTyped(GEVSRV Server, TGSInfo Cmd,
char* Info,
size_t& Length)
596 return CVB_CALL_CAPI(GSGetInfoAsString(Server, Cmd, Info, Length));
599inline cvbres_t GSGetInfoAsStringTyped(GEVSRV Server, TGSInfo Cmd,
wchar_t* Info,
size_t& Length)
601 return CVB_CALL_CAPI(GSGetInfoAsStringW(Server, Cmd, Info, Length));
604inline cvbres_t GSSetInfoAsStringTyped(GEVSRV Server, TGSInfo Cmd,
const char* Info)
606 return CVB_CALL_CAPI(GSSetInfoAsString(Server, Cmd, Info));
609inline cvbres_t GSSetInfoAsStringTyped(GEVSRV Server, TGSInfo Cmd,
const wchar_t* Info)
611 return CVB_CALL_CAPI(GSSetInfoAsStringW(Server, Cmd, Info));
614inline cvbres_t GSGetNodeTyped(GEVSRV Server,
const char* NodeName, GSNODE& Node)
616 return CVB_CALL_CAPI(GSGetNode(Server, NodeName, Node));
619inline cvbres_t GSGetNodeTyped(GEVSRV Server,
const wchar_t* NodeName, GSNODE& Node)
621 return CVB_CALL_CAPI(GSGetNodeW(Server, NodeName, Node));
624inline cvbres_t GSNodeListTyped(GEVSRV Server,
size_t Index,
char* EntryName,
size_t& EntryLength)
626 return CVB_CALL_CAPI(GSNodeList(Server, Index, EntryName, EntryLength));
629inline cvbres_t GSNodeListTyped(GEVSRV Server,
size_t Index,
wchar_t *EntryName,
size_t &EntryLength)
631 return CVB_CALL_CAPI(GSNodeListW(Server, Index, EntryName, EntryLength));
634inline GSNODE CreateGSBooleanNodeTyped(
const char* NodeName, TGSNamespace Namespace)
636 return CVB_CALL_CAPI(CreateGSBooleanNode(NodeName, Namespace));
639inline GSNODE CreateGSBooleanNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
641 return CVB_CALL_CAPI(CreateGSBooleanNodeW(NodeName, Namespace));
644inline GSNODE CreateGSCategoryNodeTyped(
const char* NodeName, TGSNamespace Namespace)
646 return CVB_CALL_CAPI(CreateGSCategoryNode(NodeName, Namespace));
649inline GSNODE CreateGSCategoryNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
651 return CVB_CALL_CAPI(CreateGSCategoryNodeW(NodeName, Namespace));
654inline GSNODE CreateGSCommandNodeTyped(
const char* NodeName, TGSNamespace Namespace)
656 return CVB_CALL_CAPI(CreateGSCommandNode(NodeName, Namespace));
659inline GSNODE CreateGSCommandNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
661 return CVB_CALL_CAPI(CreateGSCommandNodeW(NodeName, Namespace));
664inline GSNODE CreateGSEnumerationNodeTyped(
const char* NodeName, TGSNamespace Namespace)
666 return CVB_CALL_CAPI(CreateGSEnumerationNode(NodeName, Namespace));
669inline GSNODE CreateGSEnumerationNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
671 return CVB_CALL_CAPI(CreateGSEnumerationNodeW(NodeName, Namespace));
674inline GSNODE CreateGSEnumEntryNodeTyped(
const char* NodeName, TGSNamespace Namespace)
676 return CVB_CALL_CAPI(CreateGSEnumEntryNode(NodeName, Namespace));
679inline GSNODE CreateGSEnumEntryNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
681 return CVB_CALL_CAPI(CreateGSEnumEntryNodeW(NodeName, Namespace));
684inline GSNODE CreateGSStringNodeExTyped(
const char* NodeName, TGSNamespace Namespace)
686 return CVB_CALL_CAPI(CreateGSStringNodeEx(NodeName, Namespace));
689inline GSNODE CreateGSStringNodeExTyped(
const wchar_t* NodeName, TGSNamespace Namespace)
691 return CVB_CALL_CAPI(CreateGSStringNodeWEx(NodeName, Namespace));
694inline GSNODE CreateGSStringRegNodeTyped(
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
696 return CVB_CALL_CAPI(CreateGSStringRegNode(NodeName, Namespace, Address, Length));
699inline GSNODE CreateGSStringRegNodeTyped(
const wchar_t* NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
701 return CVB_CALL_CAPI(CreateGSStringRegNodeW(NodeName, Namespace, Address, Length));
704inline GSNODE CreateGSIntegerNodeTyped(
const char* NodeName, TGSNamespace Namespace)
706 return CVB_CALL_CAPI(CreateGSIntegerNode(NodeName, Namespace));
709inline GSNODE CreateGSIntegerNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
711 return CVB_CALL_CAPI(CreateGSIntegerNodeW(NodeName, Namespace));
714inline GSNODE CreateGSFloatNodeTyped(
const char* NodeName, TGSNamespace Namespace)
716 return CVB_CALL_CAPI(CreateGSFloatNode(NodeName, Namespace));
719inline GSNODE CreateGSFloatNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
721 return CVB_CALL_CAPI(CreateGSFloatNodeW(NodeName, Namespace));
724inline GSNODE CreateGSIntSwissKnifeNodeTyped(
const char* NodeName, TGSNamespace Namespace)
726 return CVB_CALL_CAPI(CreateGSIntSwissKnifeNode(NodeName, Namespace));
729inline GSNODE CreateGSIntSwissKnifeNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace)
731 return CVB_CALL_CAPI(CreateGSIntSwissKnifeNodeW(NodeName, Namespace));
734inline GSNODE CreateGSInt32NodeTyped(
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address)
736 return CVB_CALL_CAPI(CreateGSInt32Node(NodeName, Namespace, Address));
739inline GSNODE CreateGSInt32NodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address)
741 return CVB_CALL_CAPI(CreateGSInt32NodeW(NodeName, Namespace, Address));
744inline GSNODE CreateGSInt64NodeTyped(
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address)
746 return CVB_CALL_CAPI(CreateGSInt64Node(NodeName, Namespace, Address));
749inline GSNODE CreateGSInt64NodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address)
751 return CVB_CALL_CAPI(CreateGSInt64NodeW(NodeName, Namespace, Address));
754inline GSNODE CreateGSFloat32NodeTyped(
const char *NodeName, TGSNamespace Namespace, cvbint64_t Address)
756 return CVB_CALL_CAPI(CreateGSFloat32Node(NodeName, Namespace, Address));
759inline GSNODE CreateGSFloat32NodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address)
761 return CVB_CALL_CAPI(CreateGSFloat32NodeW(NodeName, Namespace, Address));
764inline GSNODE CreateGSFloat64NodeTyped(
const char *NodeName, TGSNamespace Namespace, cvbint64_t Address)
766 return CVB_CALL_CAPI(CreateGSFloat64Node(NodeName, Namespace, Address));
769inline GSNODE CreateGSFloat64NodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address)
771 return CVB_CALL_CAPI(CreateGSFloat64NodeW(NodeName, Namespace, Address));
774inline GSNODE CreateGSIntRegNodeTyped(
const char* NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
776 return CVB_CALL_CAPI(CreateGSIntRegNode(NodeName, Namespace, Address, Length));
780CreateGSIntRegNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
782 return CVB_CALL_CAPI(CreateGSIntRegNodeW(NodeName, Namespace, Address, Length));
786CreateGSFloatRegNodeTyped(
const char *NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
788 return CVB_CALL_CAPI(CreateGSFloatRegNode(NodeName, Namespace, Address, Length));
792CreateGSFloatRegNodeTyped(
const wchar_t *NodeName, TGSNamespace Namespace, cvbint64_t Address, cvbint64_t Length)
794 return CVB_CALL_CAPI(CreateGSFloatRegNodeW(NodeName, Namespace, Address, Length));
797inline cvbres_t GSNGetInfoAsStringTyped(GSNODE Node, TGSNodeInfo Cmd,
char* Info,
size_t& Length)
799 return CVB_CALL_CAPI(GSNGetInfoAsString(Node, Cmd, Info, Length));
802inline cvbres_t GSNGetInfoAsStringTyped(GSNODE Node, TGSNodeInfo Cmd,
wchar_t *Info,
size_t &Length)
804 return CVB_CALL_CAPI(GSNGetInfoAsStringW(Node, Cmd, Info, Length));
807inline cvbres_t GSNSetInfoAsStringTyped(GSNODE Node, TGSNodeInfo Cmd,
const char* Info)
809 return CVB_CALL_CAPI(GSNSetInfoAsString(Node, Cmd, Info));
812inline cvbres_t GSNSetInfoAsStringTyped(GSNODE Node, TGSNodeInfo Cmd,
const wchar_t *Info)
814 return CVB_CALL_CAPI(GSNSetInfoAsStringW(Node, Cmd, Info));
817inline cvbres_t GSNAddNodeExTyped(GSNODE Node, TGSNodeList Cmd,
const char* Key, GSNODE ToAdd)
819 return CVB_CALL_CAPI(GSNAddNodeEx(Node, Cmd, Key, ToAdd));
822inline cvbres_t GSNAddNodeExTyped(GSNODE Node, TGSNodeList Cmd,
const wchar_t *Key, GSNODE ToAdd)
824 return CVB_CALL_CAPI(GSNAddNodeExW(Node, Cmd, Key, ToAdd));
827inline cvbres_t GSNGetNodeTyped(GSNODE Node, TGSNodeList Cmd,
const char* NodeName, GSNODE& ChildNode)
829 return CVB_CALL_CAPI(GSNGetNode(Node, Cmd, NodeName, ChildNode));
832inline cvbres_t GSNGetNodeTyped(GSNODE Node, TGSNodeList Cmd,
const wchar_t *NodeName, GSNODE &ChildNode)
834 return CVB_CALL_CAPI(GSNGetNodeW(Node, Cmd, NodeName, ChildNode));
837inline cvbres_t GSNRemoveNodeExTyped(GSNODE Node, TGSNodeList Cmd,
const char* Key)
839 return CVB_CALL_CAPI(GSNRemoveNodeEx(Node, Cmd, Key));
842inline cvbres_t GSNRemoveNodeExTyped(GSNODE Node, TGSNodeList Cmd,
const wchar_t *Key)
844 return CVB_CALL_CAPI(GSNRemoveNodeExW(Node, Cmd, Key));
847inline cvbres_t GSNListTyped(GSNODE Node, TGSNodeList Cmd,
size_t Index,
char* EntryName,
size_t& EntryLength)
849 return CVB_CALL_CAPI(GSNList(Node, Cmd, Index, EntryName, EntryLength));
852inline cvbres_t GSNListTyped(GSNODE Node, TGSNodeList Cmd,
size_t Index,
wchar_t *EntryName,
size_t &EntryLength)
854 return CVB_CALL_CAPI(GSNListW(Node, Cmd, Index, EntryName, EntryLength));
857inline cvbres_t GSNListExTyped
866 return CVB_CALL_CAPI(GSNListEx(Node, Cmd, Index, EntryName, EntryLength, KeyName, KeyLength));
869inline cvbres_t GSNListExTyped(GSNODE Node,
877 return CVB_CALL_CAPI(GSNListExW(Node, Cmd, Index, EntryName, EntryLength, KeyName, KeyLength));
880inline cvbres_t GSNSetAsStringTyped(GSNODE Node,
const char* Value)
882 return CVB_CALL_CAPI(GSNSetAsString(Node, Value));
885inline cvbres_t GSNSetAsStringTyped(GSNODE Node,
const wchar_t *Value)
887 return CVB_CALL_CAPI(GSNSetAsStringW(Node, Value));
890inline cvbres_t GSNGetAsStringTyped(GSNODE Node,
char* Value,
size_t& ValueSize)
892 return CVB_CALL_CAPI(GSNGetAsString(Node, Value, ValueSize));
895inline cvbres_t GSNGetAsStringTyped(GSNODE Node,
wchar_t *Value,
size_t &ValueSize)
897 return CVB_CALL_CAPI(GSNGetAsStringW(Node, Value, ValueSize));
900inline cvbres_t ListNodeNameOnNode(
const GSNODE &node,
const NodeList &cmd,
const size_t &index,
String &name)
904 CExports::GSNListTyped(node,
static_cast<TGSNodeList
>(cmd), index,
reinterpret_cast<Char *
>(0), size);
905 if (result < 0 ||
static_cast<std::int32_t
>(size) == 0)
911 size +=
sizeof(
Char);
912 std::vector<Char> buffer(
static_cast<std::int32_t
>(size));
913 result = CExports::GSNListTyped(node,
static_cast<TGSNodeList
>(cmd), index, buffer.data(), size);
916 name =
String(buffer.data());
923inline cvbres_t NodeListName(
const GEVSRV &server,
const size_t &index,
String &name)
926 auto result = CExports::GSNodeListTyped(server, index,
reinterpret_cast<Char *
>(0), size);
927 if (result < 0 ||
static_cast<std::int32_t
>(size) == 0)
933 std::vector<Char> buffer(size);
934 result = CExports::GSNodeListTyped(server, index, buffer.data(), size);
936 name =
String(buffer.data());
943inline static cvbres_t ListNodeNameOnNode(
const GSNODE &node,
944 const TGSNodeList &cmd,
949 std::size_t nameSize = 0, keySize = 0;
950 auto result = CExports::
951 GSNListExTyped(node, cmd, index,
reinterpret_cast<Char *
>(0), nameSize,
reinterpret_cast<Char *
>(0), keySize);
952 if (result < 0 ||
static_cast<std::int32_t
>(nameSize) == 0 ||
static_cast<std::int32_t
>(keySize) == 0)
959 nameSize +=
sizeof(
Char);
960 keySize +=
sizeof(
Char);
961 std::vector<Char> nameBuffer(nameSize);
962 std::vector<Char> keyBuffer(keySize);
963 result = CExports::GSNListExTyped(node, cmd, index, nameBuffer.data(), nameSize, keyBuffer.data(), keySize);
966 entryName =
String(nameBuffer.data());
967 keyName =
String(keyBuffer.data());
977inline cvbres_t GSStartIPv4Typed(GEVSRV Server, gsipv4 IPv4, gsport Port)
979 return GSStartIPv4Ex(Server, IPv4, Port);
982inline cvbres_t GSStartIPv4Typed(GEVSRV Server,
const gsipv4 *IPv4List,
size_t IPv4ListLength)
984 return GSStartIPv4List(Server, IPv4List, IPv4ListLength);
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
char Char
Character type for wide characters or unicode characters.
Definition string.hpp:63
std::string String
String for wide characters or unicode characters.
Definition string.hpp:49