S2OPC OPCUA Toolkit
Loading...
Searching...
No Matches
sopc_address_space_utils_internal.h
Go to the documentation of this file.
1/*
2 * Licensed to Systerel under one or more contributor license
3 * agreements. See the NOTICE file distributed with this work
4 * for additional information regarding copyright ownership.
5 * Systerel licenses this file to you under the Apache
6 * License, Version 2.0 (the "License"); you may not use this
7 * file except in compliance with the License. You may obtain
8 * a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#ifndef SOPC_ADDRESS_SPACE_UTILS_INTERNAL_H_
21#define SOPC_ADDRESS_SPACE_UTILS_INTERNAL_H_
22
23#include <stdbool.h>
24
25#include "sopc_address_space.h"
26#include "sopc_builtintypes.h"
28#include "sopc_types.h"
29
30#define RECURSION_LIMIT SOPC_DEFAULT_MAX_STRUCT_NESTED_LEVEL
31
36
38
39// Static resolution from NodeId using known types + dynamic using Node references if not found
41 const SOPC_NodeId* childNodeId);
42
43// Dynamic resolution from Node using references
46
48 int recursionLimit,
49 const SOPC_NodeId* originSubtype,
50 const SOPC_NodeId* currentTypeOrSubtype,
51 const SOPC_NodeId* expectedParentType);
52
54
67 const SOPC_NodeId* encodingNodeId);
68
80 const SOPC_NodeId* dataTypeId);
81
82#endif /* SOPC_ADDRESS_SPACE_UTILS_INTERNAL_H_ */
struct _SOPC_AddressSpace SOPC_AddressSpace
Definition sopc_address_space.h:68
const SOPC_NodeId * SOPC_AddressSpaceUtil_GetEncodingDataType(SOPC_AddressSpace *addSpace, const SOPC_NodeId *encodingNodeId)
Returns the DataType NodeId for the given encoding NodeId (DefaultBinary object node) or NULL in case...
const SOPC_NodeId * SOPC_AddressSpaceUtil_GetDirectParentTypeOfNode(SOPC_AddressSpace *addSpace, SOPC_AddressSpace_Node *child)
bool SOPC_AddressSpaceUtil_IsComponent(const OpcUa_ReferenceNode *ref)
bool SOPC_AddressSpaceUtil_IsProperty(const OpcUa_ReferenceNode *ref)
SOPC_ExpandedNodeId * SOPC_AddressSpaceUtil_GetTypeDefinition(SOPC_AddressSpace *addSpace, SOPC_AddressSpace_Node *node)
bool SOPC_AddressSpaceUtil_IsTypeDefinition(const OpcUa_ReferenceNode *ref)
const SOPC_NodeId * SOPC_AddressSpaceUtil_GetDataTypeDefaultBinaryEncoding(SOPC_AddressSpace *addSpace, const SOPC_NodeId *dataTypeId)
Returns the "Default Binary" encoding object node referenced by the given DataType NodeId....
const SOPC_NodeId * SOPC_AddressSpaceUtil_GetDirectParentType(SOPC_AddressSpace *addSpace, const SOPC_NodeId *childNodeId)
bool SOPC_AddressSpaceUtil_IsHasSubtype(const OpcUa_ReferenceNode *ref, bool isReverse)
bool SOPC_AddressSpaceUtil_RecursiveIsTransitiveSubtype(SOPC_AddressSpace *addSpace, int recursionLimit, const SOPC_NodeId *originSubtype, const SOPC_NodeId *currentTypeOrSubtype, const SOPC_NodeId *expectedParentType)
bool SOPC_AddressSpaceUtil_IsValidReferenceTypeId(SOPC_AddressSpace *addSpace, const SOPC_NodeId *nodeId)
Contains the configuration constants used by S2OPC common library. Those constants could be modified ...
Definition sopc_address_space.h:49
ExpandedNodeId allows the namespace to be specified explicitly as a string or with an index in the Se...
Definition sopc_builtintypes.h:207
This structure describes a basic NodeID in OPC UA.
Definition sopc_builtintypes.h:189
Definition sopc_types.h:1638