open62541 1.4.15
Open source implementation of OPC UA
Loading...
Searching...
No Matches
NodesetLoader.h
Go to the documentation of this file.
1/** This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 *
5 * Copyright 2020 (c) Matthias Konnerth
6 */
7
8#ifndef NODESETLOADER_NODESETLOADER_H
9#define NODESETLOADER_NODESETLOADER_H
10
11#include <open62541/types.h>
13
14#include "Extension.h"
15#include "Logger.h"
16#include "ReferenceService.h"
17#include "arch.h"
18
19#include <stdbool.h>
20#include <stdint.h>
21#include <string.h>
22#include <stdio.h>
23#include <stdlib.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29#define NL_NODECLASS_COUNT 8
42
44
45typedef struct
46{
47 uint16_t nsIdx;
48 char *name;
50
51struct NL_Reference;
53
61
71
73{
74 char *locale;
75 char *text;
76};
78
79#define NL_NODE_ATTRIBUTES \
80 NL_NodeClass nodeClass; \
81 UA_NodeId id; \
82 NL_BrowseName browseName; \
83 NL_LocalizedText displayName; \
84 NL_LocalizedText description; \
85 char *writeMask; \
86 NL_Reference *hierachicalRefs; \
87 NL_Reference *nonHierachicalRefs; \
88 NL_Reference *unknownRefs; \
89 void *extension;
90
91#define NL_NODE_INSTANCE_ATTRIBUTES UA_NodeId parentNodeId;
92
97typedef struct NL_Node NL_Node;
98
105
114
121
131
132struct NL_Data;
133typedef struct NL_Data NL_Data;
139
141
143{
144 const char *value;
145};
153
165
166struct NL_ParserCtx;
176typedef struct NL_Value NL_Value;
192
201
210
218
227
235
244
245typedef unsigned short (*NL_addNamespaceCallback)(void *userContext, const char *);
246
255
256struct NodesetLoader;
258
260 struct NL_ReferenceService *refService);
262 const NL_FileContext *fileContext);
267typedef void (*NodesetLoader_forEachNode_Func)(void *context, NL_Node *node);
268LOADER_EXPORT size_t
270 void *context, NodesetLoader_forEachNode_Func fn);
272#ifdef __cplusplus
273}
274#endif
275#endif
void(* NodesetLoader_forEachNode_Func)(void *context, NL_Node *node)
#define NL_NODE_ATTRIBUTES
size_t NodesetLoader_forEachNode(NodesetLoader *loader, NL_NodeClass nodeClass, void *context, NodesetLoader_forEachNode_Func fn)
unsigned short(* NL_addNamespaceCallback)(void *userContext, const char *)
#define NL_NODECLASS_COUNT
This Source Code Form is subject to the terms of the Mozilla Public License, v.
bool NodesetLoader_importFile(NodesetLoader *loader, const NL_FileContext *fileContext)
NL_DataType
@ DATATYPE_COMPLEX
@ DATATYPE_PRIMITIVE
const NL_BiDirectionalReference * NodesetLoader_getBidirectionalRefs(const NodesetLoader *loader)
const char * NL_NODECLASS_NAME[8]
void NodesetLoader_delete(NodesetLoader *loader)
NL_NodeClass
@ NODECLASS_OBJECT
@ NODECLASS_DATATYPE
@ NODECLASS_METHOD
@ NODECLASS_VARIABLETYPE
@ NODECLASS_VARIABLE
@ NODECLASS_VIEW
@ NODECLASS_REFERENCETYPE
@ NODECLASS_OBJECTTYPE
#define NL_NODE_INSTANCE_ATTRIBUTES
bool NodesetLoader_isInstanceNode(const NL_Node *baseNode)
bool NodesetLoader_sort(NodesetLoader *loader)
NodesetLoader * NodesetLoader_new(NodesetLoader_Logger *logger, struct NL_ReferenceService *refService)
struct NodesetLoader NodesetLoader
#define LOADER_EXPORT
This Source Code Form is subject to the terms of the Mozilla Public License, v.
NL_BiDirectionalReference * next
NL_Data ** members
NL_DataTypeDefinitionField * fields
NL_DataTypeDefinition * definition
NL_Data * parent
NL_PrimitiveData primitiveData
const char * name
NL_ComplexData complexData
union NL_Data::@11 val
NL_DataType type
const char * file
NL_addNamespaceCallback addNamespace
NodesetLoader_ExtensionInterface * extensionHandling
char * userExecutable
NL_Reference * refToTypeDef
const char * value
NL_LocalizedText inverseName
UA_NodeId refType
UA_NodeId target
NL_Reference * next
struct NL_ParserCtx * ctx
NL_Data * data
bool isExtensionObject
UA_NodeId typeId
const char * type
NL_Reference * refToTypeDef
char * minimumSamplingInterval
char * containsNoLoops
char * eventNotifier