summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Voelker <jannis.voelker@basyskom.com>2018-12-18 11:24:06 +0100
committerRainer Keller <Rainer.Keller@qt.io>2019-01-07 11:51:27 +0000
commitce11e1ad16b63817052ebd487c93499971b14602 (patch)
tree190d65676fec066f097831cfc5e468356aedf655
parentbbb4a2f9772cb2500b6fd68645be13c2f688dc4a (diff)
Support the most recent open62541 release (v0.3.0)
Change-Id: Idd4177d4aa4af2f10028cc22dc0d31f6ae53ce91 Reviewed-by: Rainer Keller <Rainer.Keller@qt.io> Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
-rw-r--r--config.tests/open62541/main.cpp2
-rw-r--r--src/plugins/opcua/open62541/qopen62541.h2
-rw-r--r--tests/open62541-testserver/main.cpp2
-rw-r--r--tests/open62541-testserver/testserver.cpp9
-rw-r--r--tests/open62541-testserver/testserver.h2
5 files changed, 12 insertions, 5 deletions
diff --git a/config.tests/open62541/main.cpp b/config.tests/open62541/main.cpp
index 9749033..478f54e 100644
--- a/config.tests/open62541/main.cpp
+++ b/config.tests/open62541/main.cpp
@@ -35,7 +35,7 @@
****************************************************************************/
#include <stdio.h>
-#include "open62541/open62541.h"
+#include "open62541.h"
int main(int argc, char *argv[])
{
diff --git a/src/plugins/opcua/open62541/qopen62541.h b/src/plugins/opcua/open62541/qopen62541.h
index c8a55a7..c4e0f4e 100644
--- a/src/plugins/opcua/open62541/qopen62541.h
+++ b/src/plugins/opcua/open62541/qopen62541.h
@@ -49,7 +49,7 @@
#pragma clang diagnostic ignored "-Wunused-parameter"
#endif
-#include <open62541/open62541.h>
+#include <open62541.h>
#if defined(_MSC_VER)
#pragma warning(pop)
diff --git a/tests/open62541-testserver/main.cpp b/tests/open62541-testserver/main.cpp
index bbd51a8..cec96c9 100644
--- a/tests/open62541-testserver/main.cpp
+++ b/tests/open62541-testserver/main.cpp
@@ -207,7 +207,7 @@ int main(int argc, char **argv)
const QVector<quint32> arrayDimensions({2, 2, 3});
const QVariantList value({0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0});
server.addVariable(testFolder, "ns=2;s=Demo.Static.Arrays.MultiDimensionalDouble", "MultiDimensionalDoubleTest",
- QOpcUa::QMultiDimensionalArray(value, arrayDimensions), QOpcUa::Types::Double, QVector<quint32>({2, 2, 3}));
+ QOpcUa::QMultiDimensionalArray(value, arrayDimensions), QOpcUa::Types::Double, QVector<quint32>({2, 2, 3}), 3);
// Add folders for relative nodes
const UA_NodeId testFolder2 = server.addFolder("ns=3;s=TestFolder2", "TestFolder2");
diff --git a/tests/open62541-testserver/testserver.cpp b/tests/open62541-testserver/testserver.cpp
index d83694d..c3760c4 100644
--- a/tests/open62541-testserver/testserver.cpp
+++ b/tests/open62541-testserver/testserver.cpp
@@ -215,7 +215,7 @@ UA_NodeId TestServer::addVariableWithWriteMask(const UA_NodeId &folder, const QS
}
UA_NodeId TestServer::addVariable(const UA_NodeId &folder, const QString &variableNode, const QString &name, const QVariant &value,
- QOpcUa::Types type, QVector<quint32> arrayDimensions)
+ QOpcUa::Types type, QVector<quint32> arrayDimensions, int valueRank)
{
UA_NodeId variableNodeId = Open62541Utils::nodeIdFromQString(variableNode);
@@ -223,6 +223,7 @@ UA_NodeId TestServer::addVariable(const UA_NodeId &folder, const QString &variab
UA_VariableAttributes attr = UA_VariableAttributes_default;
attr.value = QOpen62541ValueConverter::toOpen62541Variant(value, type);
+ attr.valueRank = valueRank;
attr.displayName = UA_LOCALIZEDTEXT_ALLOC("en-US", name.toUtf8().constData());
attr.dataType = attr.value.type ? attr.value.type->typeId : UA_TYPES[UA_TYPES_BOOLEAN].typeId;
attr.accessLevel = UA_ACCESSLEVELMASK_READ | UA_ACCESSLEVELMASK_WRITE;
@@ -272,9 +273,15 @@ UA_NodeId TestServer::addEmptyArrayVariable(const UA_NodeId &folder, const QStri
attr.dataType = UA_TYPES[UA_TYPES_BOOLEAN].typeId;
attr.accessLevel = UA_ACCESSLEVELMASK_READ;
attr.valueRank = 1;
+ attr.arrayDimensionsSize = 1;
+ attr.arrayDimensions = UA_UInt32_new();
+ *attr.arrayDimensions = 1;
attr.value.arrayLength = 0;
attr.value.type = &UA_TYPES[UA_TYPES_BOOLEAN];
attr.value.data = UA_EMPTY_ARRAY_SENTINEL;
+ attr.value.arrayDimensionsSize = 1;
+ attr.value.arrayDimensions = UA_UInt32_new();
+ *attr.value.arrayDimensions = 1;
UA_QualifiedName variableName;
variableName.namespaceIndex = variableNodeId.namespaceIndex;
diff --git a/tests/open62541-testserver/testserver.h b/tests/open62541-testserver/testserver.h
index 2cebfd9..4c95359 100644
--- a/tests/open62541-testserver/testserver.h
+++ b/tests/open62541-testserver/testserver.h
@@ -60,7 +60,7 @@ public:
UA_NodeId addObject(const UA_NodeId &folderId, int namespaceIndex, const QString &objectName = QString());
UA_NodeId addVariable(const UA_NodeId &folder, const QString &variableNode, const QString &name, const QVariant &value,
- QOpcUa::Types type, QVector<quint32> arrayDimensions = QVector<quint32>());
+ QOpcUa::Types type, QVector<quint32> arrayDimensions = QVector<quint32>(), int valueRank = UA_VALUERANK_ANY);
UA_NodeId addVariableWithWriteMask(const UA_NodeId &folder, const QString &variableNode, const QString &name, const QVariant &value,
QOpcUa::Types type, quint32 writeMask);
UA_NodeId addEmptyArrayVariable(const UA_NodeId &folder, const QString &variableNode, const QString &name);