diff options
author | Rainer Keller <Rainer.Keller@qt.io> | 2019-09-13 12:41:15 +0200 |
---|---|---|
committer | Rainer Keller <Rainer.Keller@qt.io> | 2019-09-26 10:33:15 +0200 |
commit | 073b305d7f80b952c0d0858115fc102edd0339b4 (patch) | |
tree | 6ec66a99986d3d16230653ca716156ca2e1889ba | |
parent | 53453bea465dbc7a15824ad4db2b19df44e62623 (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.cpp | 11 | ||||
-rw-r--r-- | src/plugins/opcua/uacpp/quacppvalueconverter.cpp | 10 |
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)); } |