open62541 1.4.15
Open source implementation of OPC UA
Loading...
Searching...
No Matches
Nodeset.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 2019 (c) Matthias Konnerth
6 */
7
8#ifndef NODESET_H
9#define NODESET_H
10
11#include "CharAllocator.h"
13
14#include <stdbool.h>
15#include <stddef.h>
16
17struct Nodeset;
18typedef struct Nodeset Nodeset;
19struct Alias;
20struct TParserCtx;
21typedef struct TParserCtx TParserCtx;
22
23struct NamespaceList;
24
25struct NodeContainer;
26struct AliasList;
27struct SortContext;
41
43void Nodeset_cleanup(Nodeset *nodeset);
44bool Nodeset_sort(Nodeset *nodeset);
46 int attributeSize, const char **attributes);
49 int attributeSize, const char **attributes);
51 char *targetId);
52struct Alias *Nodeset_newAlias(Nodeset *nodeset, int attributeSize,
53 const char **attribute);
54void Nodeset_newAliasFinish(Nodeset *nodeset, struct Alias *alias,
55 char *idString);
56void Nodeset_newNamespaceFinish(Nodeset *nodeset, void *userContext,
57 char *namespaceUri);
58void Nodeset_addDataTypeDefinition(Nodeset *nodeset, NL_Node *node, int attributeSize,
59 const char **attributes);
60void Nodeset_addDataTypeField(Nodeset *nodeset, NL_Node *node, int attributeSize,
61 const char **attributes);
62void Nodeset_setDisplayName(Nodeset *nodeset, NL_Node *node, int attributeSize,
63 const char **attributes);
64void Nodeset_DisplayNameFinish(const Nodeset *nodeset, NL_Node *node, char *text);
65void Nodeset_setDescription(Nodeset *nodeset, NL_Node *node, int attributeSize,
66 const char **attributes);
67void Nodeset_DescriptionFinish(const Nodeset *nodeset, NL_Node *node, char *text);
68void Nodeset_setInverseName(Nodeset *nodeset, NL_Node *node, int attributeSize,
69 const char **attributes);
70void Nodeset_InverseNameFinish(const Nodeset *nodeset, NL_Node *node, char *text);
73size_t Nodeset_forEachNode(Nodeset *nodeset, NL_NodeClass nodeClass,
74 void *context, NodesetLoader_forEachNode_Func fn);
75#endif
struct AliasList AliasList
Definition AliasList.h:22
struct CharArenaAllocator CharArenaAllocator
struct NamespaceList NamespaceList
void(* NodesetLoader_forEachNode_Func)(void *context, NL_Node *node)
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.
NL_NodeClass
void Nodeset_setDescription(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
void Nodeset_newAliasFinish(Nodeset *nodeset, struct Alias *alias, char *idString)
const NL_BiDirectionalReference * Nodeset_getBiDirectionalRefs(const Nodeset *nodeset)
void Nodeset_newReferenceFinish(Nodeset *nodeset, NL_Reference *ref, NL_Node *node, char *targetId)
struct Alias * Nodeset_newAlias(Nodeset *nodeset, int attributeSize, const char **attribute)
void Nodeset_newNamespaceFinish(Nodeset *nodeset, void *userContext, char *namespaceUri)
void Nodeset_newNodeFinish(Nodeset *nodeset, NL_Node *node)
NL_Node * Nodeset_newNode(Nodeset *nodeset, NL_NodeClass nodeClass, int attributeSize, const char **attributes)
void Nodeset_setInverseName(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
void Nodeset_DisplayNameFinish(const Nodeset *nodeset, NL_Node *node, char *text)
void Nodeset_addDataTypeDefinition(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
NL_Reference * Nodeset_newReference(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
bool Nodeset_sort(Nodeset *nodeset)
void Nodeset_cleanup(Nodeset *nodeset)
void Nodeset_InverseNameFinish(const Nodeset *nodeset, NL_Node *node, char *text)
void Nodeset_addDataTypeField(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
void Nodeset_setDisplayName(Nodeset *nodeset, NL_Node *node, int attributeSize, const char **attributes)
size_t Nodeset_forEachNode(Nodeset *nodeset, NL_NodeClass nodeClass, void *context, NodesetLoader_forEachNode_Func fn)
struct TParserCtx TParserCtx
Definition Nodeset.h:21
void Nodeset_DescriptionFinish(const Nodeset *nodeset, NL_Node *node, char *text)
Nodeset * Nodeset_new(NL_addNamespaceCallback nsCallback, NodesetLoader_Logger *logger, NL_ReferenceService *refService)
struct SortContext SortContext
Definition Sort.h:22
This Source Code Form is subject to the terms of the Mozilla Public License, v.
Definition AliasList.h:14
This Source Code Form is subject to the terms of the Mozilla Public License, v.
struct NodeContainer * nodesWithUnknownRefs
Definition Nodeset.h:37
NodesetLoader_Logger * logger
Definition Nodeset.h:36
struct NamespaceList * namespaces
Definition Nodeset.h:33
struct SortContext * sortCtx
Definition Nodeset.h:34
CharArenaAllocator * charArena
Definition Nodeset.h:30
NL_ReferenceService * refService
Definition Nodeset.h:39
struct NodeContainer * nodes[NL_NODECLASS_COUNT]
Definition Nodeset.h:32
struct AliasList * aliasList
Definition Nodeset.h:31
NL_BiDirectionalReference * hasEncodingRefs
Definition Nodeset.h:35
struct NodeContainer * refTypesWithUnknownRefs
Definition Nodeset.h:38
id namespaceUri
Definition types.h:441
const char * text
Definition types.h:536