ItalaApiC  1.3.3
Node.h
1 
2 /***********************************************************************************
3  *
4  * ItalaApi - Copyright (C) 2023 Opto Engineering
5  *
6  * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
7  * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
8  * FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT
9  * HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY SUFFERED BY LICENSE AS
10  * A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
11  *
12  ***********************************************************************************/
13 
14 #ifndef ITALA_API_C_NODE_H
15 #define ITALA_API_C_NODE_H
16 
17 #include <stdbool.h>
18 #include <stddef.h>
19 #include "ItalaApiC/Export.h"
20 #include "ItalaApiC/ItalaCDefs.h"
21 #include "ItalaApiC/ItalaGenApiCDefs.h"
22 #ifdef __cplusplus
23 extern "C" {
24 namespace ItalaC {
25 #endif
26 
32 typedef void (*NodeCallbackFunction)(H_NODE hNode, void* pContext);
33 
43 ITALA_API_C ItalaError NODE_GetName(H_NODE hNode, char* name, size_t* pSize);
52 ITALA_API_C ItalaError NODE_GetNameSpace(H_NODE hNode, NameSpace* pNameSpace);
61 ITALA_API_C ItalaError NODE_GetVisibility(H_NODE hNode, Visibility* pVisibility);
69 ITALA_API_C ItalaError NODE_InvalidateNode(H_NODE hNode);
78 ITALA_API_C ItalaError NODE_IsCachable(H_NODE hNode, bool* pIsCachable);
87 ITALA_API_C ItalaError NODE_IsAccessModeCacheable(H_NODE hNode, bool* pIsAccessModeCacheable);
96 ITALA_API_C ItalaError NODE_GetCachingMode(H_NODE hNode, CachingMode* pCachingMode);
105 ITALA_API_C ItalaError NODE_GetPollingTime(H_NODE hNode, int64_t* pPollingTime);
115 ITALA_API_C ItalaError NODE_GetToolTip(H_NODE hNode, char* toolTip, size_t* pSize);
125 ITALA_API_C ItalaError NODE_GetDescription(H_NODE hNode, char* description, size_t* pSize);
135 ITALA_API_C ItalaError NODE_GetDisplayName(H_NODE hNode, char* displayName, size_t* pSize);
145 ITALA_API_C ItalaError NODE_GetDeviceName(H_NODE hNode, char* deviceName, size_t* pSize);
155 ITALA_API_C ItalaError NODE_GetChildrenNum(H_NODE hNode, LinkType linkType, size_t* pNumChildren);
166 ITALA_API_C ItalaError NODE_GetChildrenByIndex(H_NODE hNode, size_t index, LinkType linkType,
167  H_NODE* phNodeChildren);
176 ITALA_API_C ItalaError NODE_GetParentNum(H_NODE hNode, size_t* pNumParent);
186 ITALA_API_C ItalaError NODE_GetParentByIndex(H_NODE hNode, size_t index, H_NODE* phNodeParent);
198 ITALA_API_C ItalaError NODE_RegisterCallback(H_NODE hNode, NodeCallbackFunction callback,
199  void* pContext, H_NODECALLBACK* phNodeCallback);
208 ITALA_API_C ItalaError NODE_DeregisterCallback(H_NODE hNode, H_NODECALLBACK hNodeCallback);
217 ITALA_API_C ItalaError NODE_GetNodeMap(H_NODE hNode, H_NODEMAP* phNodeMap);
227 ITALA_API_C ItalaError NODE_GetEventId(H_NODE hNode, char* eventId, size_t* pSize);
236 ITALA_API_C ItalaError NODE_IsStreamable(H_NODE hNode, bool* pIsStreamable);
245 ITALA_API_C ItalaError NODE_GetPropertyNamesNum(H_NODE hNode, size_t* pNumOfProperty);
256 ITALA_API_C ItalaError NODE_GetPropertyNameByIndex(H_NODE hNode, size_t index, char* propertyName,
257  size_t* pSize);
273 ITALA_API_C ItalaError NODE_GetProperty(H_NODE hNode, const char* propertyName, char* values,
274  size_t* pSizeValue, char* attributes,
275  size_t* pSizeAttributes);
284 ITALA_API_C ItalaError NODE_ImposedAccessMode(H_NODE hNode, AccessMode imposedAccessMode);
293 ITALA_API_C ItalaError NODE_ImposedVisibility(H_NODE hNode, Visibility imposedVisibility);
302 ITALA_API_C ItalaError NODE_GetAlias(H_NODE hNode, H_NODE* phNodeAlias);
311 ITALA_API_C ItalaError NODE_GetCastAlias(H_NODE hNode, H_NODE* phNodeCastAlias);
321 ITALA_API_C ItalaError NODE_GetDocuURL(H_NODE hNode, char* docuURL, size_t* pSize);
330 ITALA_API_C ItalaError NODE_IsDeprecated(H_NODE hNode, bool* pIsDeprecated);
339 ITALA_API_C ItalaError NODE_GetPrincipalInterfaceType(H_NODE hNode, InterfaceType* pInterfaceType);
348 ITALA_API_C ItalaError NODE_IsFeature(H_NODE hNode, bool* pIsFeature);
349 
350 // FROM IBASE
359 ITALA_API_C ItalaError NODE_GetAccessMode(H_NODE hNode, AccessMode* pAccessMode);
360 
361 // FROM IVALUE
362 ITALA_API_C ItalaError NODE_FromString(H_NODE hNode, const char* valueStr);
372 ITALA_API_C ItalaError NODE_ToString(H_NODE hNode, char* value, size_t* pSize);
381 ITALA_API_C ItalaError NODE_IsValueCacheValid(H_NODE hNode, bool* pIsCacheValid);
382 
383 // FREE FUN IN INODE
392 ITALA_API_C ItalaError IsNodeReadable(H_NODE hNode, bool* pIsReadable);
401 ITALA_API_C ItalaError IsNodeWritable(H_NODE hNode, bool* pIsWritable);
410 ITALA_API_C ItalaError IsNodeImplemented(H_NODE hNode, bool* pIsImplemented);
419 ITALA_API_C ItalaError IsNodeAvailable(H_NODE hNode, bool* pIsAvailable);
420 
422 #ifdef __cplusplus
423 }
424 }
425 #endif
426 
427 #endif
ITALA_API_C ItalaError NODE_GetCastAlias(H_NODE hNode, H_NODE *phNodeCastAlias)
int32_t CachingMode
Definition: ItalaGenApiCDefs.h:87
ITALA_API_C ItalaError IsNodeImplemented(H_NODE hNode, bool *pIsImplemented)
ITALA_API_C ItalaError NODE_GetParentByIndex(H_NODE hNode, size_t index, H_NODE *phNodeParent)
ITALA_API_C ItalaError NODE_IsAccessModeCacheable(H_NODE hNode, bool *pIsAccessModeCacheable)
ITALA_API_C ItalaError NODE_ToString(H_NODE hNode, char *value, size_t *pSize)
ITALA_API_C ItalaError NODE_GetNameSpace(H_NODE hNode, NameSpace *pNameSpace)
int32_t LinkType
Definition: ItalaGenApiCDefs.h:246
ITALA_API_C ItalaError NODE_GetAlias(H_NODE hNode, H_NODE *phNodeAlias)
ITALA_API_C ItalaError NODE_IsStreamable(H_NODE hNode, bool *pIsStreamable)
int32_t ItalaError
Definition: ItalaCDefs.h:80
ITALA_API_C ItalaError NODE_ImposedAccessMode(H_NODE hNode, AccessMode imposedAccessMode)
ITALA_API_C ItalaError IsNodeWritable(H_NODE hNode, bool *pIsWritable)
ITALA_API_C ItalaError NODE_IsCachable(H_NODE hNode, bool *pIsCachable)
ITALA_API_C ItalaError IsNodeReadable(H_NODE hNode, bool *pIsReadable)
ITALA_API_C ItalaError NODE_GetParentNum(H_NODE hNode, size_t *pNumParent)
ITALA_API_C ItalaError NODE_GetDeviceName(H_NODE hNode, char *deviceName, size_t *pSize)
ITALA_API_C ItalaError NODE_InvalidateNode(H_NODE hNode)
ITALA_API_C ItalaError NODE_GetVisibility(H_NODE hNode, Visibility *pVisibility)
ITALA_API_C ItalaError NODE_GetDocuURL(H_NODE hNode, char *docuURL, size_t *pSize)
ITALA_API_C ItalaError NODE_RegisterCallback(H_NODE hNode, NodeCallbackFunction callback, void *pContext, H_NODECALLBACK *phNodeCallback)
ITALA_API_C ItalaError NODE_IsFeature(H_NODE hNode, bool *pIsFeature)
ITALA_API_C ItalaError NODE_IsDeprecated(H_NODE hNode, bool *pIsDeprecated)
ITALA_API_C ItalaError NODE_GetDisplayName(H_NODE hNode, char *displayName, size_t *pSize)
ITALA_API_C ItalaError NODE_GetEventId(H_NODE hNode, char *eventId, size_t *pSize)
ITALA_API_C ItalaError NODE_GetToolTip(H_NODE hNode, char *toolTip, size_t *pSize)
ITALA_API_C ItalaError NODE_GetName(H_NODE hNode, char *name, size_t *pSize)
ITALA_API_C ItalaError NODE_GetDescription(H_NODE hNode, char *description, size_t *pSize)
ITALA_API_C ItalaError NODE_GetChildrenByIndex(H_NODE hNode, size_t index, LinkType linkType, H_NODE *phNodeChildren)
ITALA_API_C ItalaError NODE_GetProperty(H_NODE hNode, const char *propertyName, char *values, size_t *pSizeValue, char *attributes, size_t *pSizeAttributes)
ITALA_API_C ItalaError NODE_GetNodeMap(H_NODE hNode, H_NODEMAP *phNodeMap)
int32_t Visibility
Definition: ItalaGenApiCDefs.h:73
ITALA_API_C ItalaError NODE_DeregisterCallback(H_NODE hNode, H_NODECALLBACK hNodeCallback)
ITALA_API_C ItalaError IsNodeAvailable(H_NODE hNode, bool *pIsAvailable)
ITALA_API_C ItalaError NODE_GetChildrenNum(H_NODE hNode, LinkType linkType, size_t *pNumChildren)
ITALA_API_C ItalaError NODE_GetPrincipalInterfaceType(H_NODE hNode, InterfaceType *pInterfaceType)
ITALA_API_C ItalaError NODE_GetPollingTime(H_NODE hNode, int64_t *pPollingTime)
int32_t InterfaceType
Definition: ItalaGenApiCDefs.h:228
int32_t NameSpace
Definition: ItalaGenApiCDefs.h:131
ITALA_API_C ItalaError NODE_GetCachingMode(H_NODE hNode, CachingMode *pCachingMode)
ITALA_API_C ItalaError NODE_GetPropertyNamesNum(H_NODE hNode, size_t *pNumOfProperty)
ITALA_API_C ItalaError NODE_GetPropertyNameByIndex(H_NODE hNode, size_t index, char *propertyName, size_t *pSize)
ITALA_API_C ItalaError NODE_IsValueCacheValid(H_NODE hNode, bool *pIsCacheValid)
int32_t AccessMode
Definition: ItalaGenApiCDefs.h:58
ITALA_API_C ItalaError NODE_ImposedVisibility(H_NODE hNode, Visibility imposedVisibility)
ITALA_API_C ItalaError NODE_GetAccessMode(H_NODE hNode, AccessMode *pAccessMode)