summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Keller <Rainer.Keller@qt.io>2019-09-13 12:41:15 +0200
committerRainer Keller <Rainer.Keller@qt.io>2019-09-26 10:33:15 +0200
commit073b305d7f80b952c0d0858115fc102edd0339b4 (patch)
tree6ec66a99986d3d16230653ca716156ca2e1889ba
parent53453bea465dbc7a15824ad4db2b19df44e62623 (diff)
Fix endianess of GUID node ids
Change-Id: I948bd4bb6a58874c6d2cc9737777a08c0f214648 Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
-rw-r--r--src/plugins/opcua/open62541/qopen62541valueconverter.cpp11
-rw-r--r--src/plugins/opcua/uacpp/quacppvalueconverter.cpp10
2 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/opcua/open62541/qopen62541valueconverter.cpp b/src/plugins/opcua/open62541/qopen62541valueconverter.cpp
index d044c5c..5649137 100644
--- a/src/plugins/opcua/open62541/qopen62541valueconverter.cpp
+++ b/src/plugins/opcua/open62541/qopen62541valueconverter.cpp
@@ -313,7 +313,10 @@ QDateTime scalarToQt<QDateTime, UA_DateTime>(const UA_DateTime *data)
template<>
QUuid scalarToQt<QUuid, UA_Guid>(const UA_Guid *data)
{
- return QUuid(data->data1, data->data2, data->data3, data->data4[0], data->data4[1], data->data4[2],
+ return QUuid(qFromBigEndian(data->data1),
+ qFromBigEndian(data->data2),
+ qFromBigEndian(data->data3),
+ data->data4[0], data->data4[1], data->data4[2],
data->data4[3], data->data4[4], data->data4[5], data->data4[6], data->data4[7]);
}
@@ -515,9 +518,9 @@ void scalarFromQt<UA_QualifiedName, QOpcUaQualifiedName>(const QOpcUaQualifiedNa
template<>
void scalarFromQt<UA_Guid, QUuid>(const QUuid &value, UA_Guid *ptr)
{
- ptr->data1 = value.data1;
- ptr->data2 = value.data2;
- ptr->data3 = value.data3;
+ ptr->data1 = qToBigEndian(value.data1);
+ ptr->data2 = qToBigEndian(value.data2);
+ ptr->data3 = qToBigEndian(value.data3);
std::memcpy(ptr->data4, value.data4, sizeof(value.data4));
}
diff --git a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
index 3aac31d..0b2133f 100644
--- a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
+++ b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
@@ -186,7 +186,9 @@ template<>
QVariant scalarToQVariant<QUuid, OpcUa_Guid>(OpcUa_Guid *data, QMetaType::Type type)
{
Q_UNUSED(type)
- return QUuid(data->Data1, data->Data2, data->Data3,
+ return QUuid(qFromBigEndian<uint>(data->Data1),
+ qFromBigEndian(data->Data2),
+ qFromBigEndian(data->Data3),
data->Data4[0], data->Data4[1], data->Data4[2], data->Data4[3],
data->Data4[4], data->Data4[5], data->Data4[6], data->Data4[7]);
}
@@ -529,9 +531,9 @@ template<>
void scalarFromQVariant<OpcUa_Guid, QUuid>(const QVariant &var, OpcUa_Guid *ptr)
{
const QUuid uuid = var.toUuid();
- ptr->Data1 = uuid.data1;
- ptr->Data2 = uuid.data2;
- ptr->Data3 = uuid.data3;
+ ptr->Data1 = qToBigEndian(uuid.data1);
+ ptr->Data2 = qToBigEndian(uuid.data2);
+ ptr->Data3 = qToBigEndian(uuid.data3);
memcpy(ptr->Data4, uuid.data4, sizeof(uuid.data4));
}