ChimeraTK-ControlSystemAdapter-OPCUAAdapter 04.00.05
Loading...
Searching...
No Matches
ua_map_types.h
Go to the documentation of this file.
1/*
2 * This file is part of ChimeraTKs ControlSystem-OPC-UA-Adapter.
3 *
4 * ChimeraTKs ControlSystem-OPC-UA-Adapter is free software: you can
5 * redistribute it and/or modify it under the terms of the Lesser GNU
6 * General Public License as published by the Free Software Foundation,
7 * either version 3 of the License, or (at your option) any later version.
8 *
9 * ChimeraTKs ControlSystem-OPC-UA-Adapter is distributed in the hope
10 * that it will be useful, but WITHOUT ANY WARRANTY; without even the
11 * implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the Lesser GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with Foobar. If not, see https://www.gnu.org/licenses/lgpl.html
16 *
17 * Copyright (c) 2016 Chris Iatrou <Chris_Paul.Iatrou@tu-dresden.de>
18 * Copyright (c) 2016 Julian Rahm <Julian.Rahm@tu-dresden.de>
19 * Copyright (c) 2019-2023 Andreas Ebner <Andreas.Ebner@iosb.fraunhofer.de>
20 */
21
22#pragma once
23
24#include "ua_typeconversion.h"
25
26#include <open62541/server.h>
27
28#include <iostream>
29#include <list>
30
31using namespace std;
32
33namespace ChimeraTK {
39 typedef struct UA_NodeId_pair_t {
40 UA_NodeId sourceNodeId; // Model NodeId
41 UA_NodeId targetNodeId; // Stack NodeId
43 typedef std::list<UA_NodeId_pair*> nodePairList;
44
52 UA_NodeId typeTemplateId;
53 UA_NodeId concreteNodeId;
54 UA_LocalizedText description; // individual description for every variable
55 UA_DataSource dataSource;
57 typedef std::list<UA_DataSource_Map_Element> UA_DataSource_Map;
58
59#define NODE_PAIR_PUSH(_p_listname, _p_srcId, _p_targetId) \
60 do { \
61 UA_NodeId_pair* tmp = new UA_NodeId_pair; \
62 UA_NodeId_copy(&_p_srcId, &tmp->sourceNodeId); \
63 UA_NodeId_copy(&_p_targetId, &tmp->targetNodeId); \
64 _p_listname.push_back(tmp); \
65 } while(0);
66
76 UA_StatusCode ua_mapInstantiatedNodes(UA_NodeId objectId, UA_NodeId definitionId, void* handle);
77} // namespace ChimeraTK
std::list< UA_DataSource_Map_Element > UA_DataSource_Map
std::list< UA_NodeId_pair * > nodePairList
struct ChimeraTK::UA_DataSource_Map_Element_t UA_DataSource_Map_Element
UA_StatusCode ua_mapInstantiatedNodes(UA_NodeId objectId, UA_NodeId definitionId, void *handle)
Node function and proxy mapping for new nodes.
struct ChimeraTK::UA_NodeId_pair_t UA_NodeId_pair
For generic callback use, this sturct contains the methode pointer and a NodeId of the model.
This struct contains a NodeId generated from the open62541-stack and the NodeId of the model side.