diff options
author | Jannis Voelker <jannis.voelker@basyskom.com> | 2024-03-26 16:36:18 +0100 |
---|---|---|
committer | Jannis Völker <jannis.voelker@basyskom.com> | 2024-04-08 07:05:10 +0000 |
commit | 2303ed6d33634a0a2565fe31ae0de991f75bc069 (patch) | |
tree | bcaf4562d5550a98f5aa6b2e729dc48808d0148c | |
parent | 8c276c9951bdb524d283108ca456f12207fcd9cd (diff) |
Fix ByteString handling in the generic struct handler
ByteString fields were not handled correctly and structured
types containing such a field failed to encode and decode.
Pick-to: 6.7 6.7.0 6.5
Change-Id: I72a9dd0cbabd61930a08826a373fc65956cb7d2d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
-rw-r--r-- | src/opcua/client/qopcuagenericstructhandlerprivate.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/opcua/client/qopcuagenericstructhandlerprivate.cpp b/src/opcua/client/qopcuagenericstructhandlerprivate.cpp index 0f74655..a0f8e1f 100644 --- a/src/opcua/client/qopcuagenericstructhandlerprivate.cpp +++ b/src/opcua/client/qopcuagenericstructhandlerprivate.cpp @@ -302,6 +302,9 @@ QVariant QOpcUaGenericStructHandlerPrivate::decodeKnownTypesInternal(QOpcUaBinar if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::NodeId)) return decodeArrayOrScalar<QString, QOpcUa::Types::NodeId>(decoder, valueRank, success); + if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::ByteString)) + return decodeArrayOrScalar<QByteArray>(decoder, valueRank, success); + if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::XmlElement)) return decodeArrayOrScalar<QByteArray>(decoder, valueRank, success); @@ -576,6 +579,9 @@ bool QOpcUaGenericStructHandlerPrivate::encodeKnownTypesInternal(QOpcUaBinaryDat if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::NodeId)) return encodeArrayOrScalar<QString, QOpcUa::Types::NodeId>(encoder, valueRank, value); + if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::ByteString)) + return encodeArrayOrScalar<QByteArray>(encoder, valueRank, value); + if (dataTypeId == QOpcUa::namespace0Id(QOpcUa::NodeIds::Namespace0::XmlElement)) return encodeArrayOrScalar<QByteArray>(encoder, valueRank, value); |