diff options
author | Rym Bouabid <rym.bouabid@qt.io> | 2024-01-30 16:10:29 +0100 |
---|---|---|
committer | Rym Bouabid <rym.bouabid@qt.io> | 2024-01-31 09:39:21 +0100 |
commit | ef99967c64dbb9ceec27d3cd3f253f6299a516c8 (patch) | |
tree | 6f01d407877c2c9911740546add2076c4ccb1e06 | |
parent | 8f18ecaccd7b49272a19e643ffa9e7c018a1858e (diff) |
Apply missing changes from the API review 6.6 => 6.7 in qtopcua
Use QExplicitlySharedDataPointer instead of QSharedDataPointer.
Explicitly detach() when mutating the data in setters.
Add Q_DECLARE_SHARED.
Remove Q_DECLARE_METATYPE.
Amends 925ea2eda7778d5e7766e19e6c39a034f436b873 and
699de8e31b42f6e009a880bbde79de46ef8e381c
Pick-to: 6.7
Change-Id: Ie6344280afb1e42e1ec18b9451b911b5f6e448de
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
-rw-r--r-- | src/opcua/client/qopcuahistoryreadeventrequest.cpp | 36 | ||||
-rw-r--r-- | src/opcua/client/qopcuahistoryreadeventrequest.h | 6 | ||||
-rw-r--r-- | src/opcua/client/qopcuastructurefield.cpp | 37 | ||||
-rw-r--r-- | src/opcua/client/qopcuastructurefield.h | 8 |
4 files changed, 56 insertions, 31 deletions
diff --git a/src/opcua/client/qopcuahistoryreadeventrequest.cpp b/src/opcua/client/qopcuahistoryreadeventrequest.cpp index d9499ad..0e17193 100644 --- a/src/opcua/client/qopcuahistoryreadeventrequest.cpp +++ b/src/opcua/client/qopcuahistoryreadeventrequest.cpp @@ -31,7 +31,7 @@ public: QOpcUaMonitoringParameters::EventFilter filter; }; -QT_DEFINE_QSDP_SPECIALIZATION_DTOR(QOpcUaHistoryReadEventRequestData) +QT_DEFINE_QESDP_SPECIALIZATION_DTOR(QOpcUaHistoryReadEventRequestData) /*! Constructs an invalid QOpcUaHistoryReadEventRequest. @@ -113,10 +113,10 @@ QDateTime QOpcUaHistoryReadEventRequest::startTimestamp() const */ void QOpcUaHistoryReadEventRequest::setStartTimestamp(const QDateTime &startTimestamp) { - if (data->startTimestamp == startTimestamp) - return; - - data->startTimestamp = startTimestamp; + if (!(data->startTimestamp == startTimestamp)) { + data.detach(); + data->startTimestamp = startTimestamp; + } } /*! @@ -132,10 +132,10 @@ QDateTime QOpcUaHistoryReadEventRequest::endTimestamp() const */ void QOpcUaHistoryReadEventRequest::setEndTimestamp(const QDateTime &endTimestamp) { - if (data->endTimestamp == endTimestamp) - return; - - data->endTimestamp = endTimestamp; + if (!(data->endTimestamp == endTimestamp)) { + data.detach(); + data->endTimestamp = endTimestamp; + } } /*! @@ -152,10 +152,10 @@ quint32 QOpcUaHistoryReadEventRequest::numValuesPerNode() const */ void QOpcUaHistoryReadEventRequest::setNumValuesPerNode(quint32 numValuesPerNode) { - if (data->numValuesPerNode == numValuesPerNode) - return; - - data->numValuesPerNode = numValuesPerNode; + if (!(data->numValuesPerNode == numValuesPerNode)) { + data.detach(); + data->numValuesPerNode = numValuesPerNode; + } } /*! @@ -171,7 +171,10 @@ QOpcUaMonitoringParameters::EventFilter QOpcUaHistoryReadEventRequest::filter() */ void QOpcUaHistoryReadEventRequest::setFilter(const QOpcUaMonitoringParameters::EventFilter &filter) { - data->filter = filter; + if (!(filter == data->filter)) { + data.detach(); + data->filter = filter; + } } /*! @@ -187,7 +190,10 @@ QList<QOpcUaReadItem> QOpcUaHistoryReadEventRequest::nodesToRead() const */ void QOpcUaHistoryReadEventRequest::setNodesToRead(const QList<QOpcUaReadItem> &nodesToRead) { - data->nodesToRead = nodesToRead; + if (nodesToRead != data->nodesToRead) { + data.detach(); + data->nodesToRead = nodesToRead; + } } /*! diff --git a/src/opcua/client/qopcuahistoryreadeventrequest.h b/src/opcua/client/qopcuahistoryreadeventrequest.h index e13c7f7..7e40453 100644 --- a/src/opcua/client/qopcuahistoryreadeventrequest.h +++ b/src/opcua/client/qopcuahistoryreadeventrequest.h @@ -17,7 +17,7 @@ QT_BEGIN_NAMESPACE class QOpcUaHistoryReadEventRequestData; -QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT(QOpcUaHistoryReadEventRequestData, Q_OPCUA_EXPORT) +QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QOpcUaHistoryReadEventRequestData, Q_OPCUA_EXPORT) class QOpcUaHistoryReadEventRequest { public: @@ -63,13 +63,11 @@ public: } private: - QSharedDataPointer<QOpcUaHistoryReadEventRequestData> data; + QExplicitlySharedDataPointer<QOpcUaHistoryReadEventRequestData> data; }; Q_DECLARE_SHARED(QOpcUaHistoryReadEventRequest) QT_END_NAMESPACE -Q_DECLARE_METATYPE(QOpcUaHistoryReadEventRequest) - #endif // QHISTORYREADEVENTREQUEST_H diff --git a/src/opcua/client/qopcuastructurefield.cpp b/src/opcua/client/qopcuastructurefield.cpp index dfbf0db..58f5be1 100644 --- a/src/opcua/client/qopcuastructurefield.cpp +++ b/src/opcua/client/qopcuastructurefield.cpp @@ -27,7 +27,7 @@ public: bool isOptional = false; }; -QT_DEFINE_QSDP_SPECIALIZATION_DTOR(QOpcUaStructureFieldData); +QT_DEFINE_QESDP_SPECIALIZATION_DTOR(QOpcUaStructureFieldData); /*! Constructs a structure field with \a valueRank. @@ -133,7 +133,10 @@ QString QOpcUaStructureField::name() const */ void QOpcUaStructureField::setName(const QString &name) { - data->name = name; + if (name != data->name) { + data.detach(); + data->name = name; + } } /*! @@ -149,7 +152,10 @@ QOpcUaLocalizedText QOpcUaStructureField::description() const */ void QOpcUaStructureField::setDescription(const QOpcUaLocalizedText &description) { - data->description = description; + if (!(description == data->description)) { + data.detach(); + data->description = description; + } } /*! @@ -165,7 +171,10 @@ QString QOpcUaStructureField::dataType() const */ void QOpcUaStructureField::setDataType(const QString &dataTypeId) { - data->dataType = dataTypeId; + if (dataTypeId != data->dataType) { + data.detach(); + data->dataType = dataTypeId; + } } /*! @@ -181,7 +190,10 @@ qint32 QOpcUaStructureField::valueRank() const */ void QOpcUaStructureField::setValueRank(qint32 valueRank) { - data->valueRank = valueRank; + if (valueRank != data->valueRank) { + data.detach(); + data->valueRank = valueRank; + } } /*! @@ -197,7 +209,10 @@ QList<quint32> QOpcUaStructureField::arrayDimensions() const */ void QOpcUaStructureField::setArrayDimensions(const QList<quint32> &arrayDimensions) { - data->arrayDimensions = arrayDimensions; + if (arrayDimensions != data->arrayDimensions) { + data.detach(); + data->arrayDimensions = arrayDimensions; + } } /*! @@ -213,7 +228,10 @@ quint32 QOpcUaStructureField::maxStringLength() const */ void QOpcUaStructureField::setMaxStringLength(quint32 maxStringLength) { - data->maxStringLength = maxStringLength; + if (maxStringLength != data->maxStringLength) { + data.detach(); + data->maxStringLength = maxStringLength; + } } /*! @@ -229,7 +247,10 @@ bool QOpcUaStructureField::isOptional() const */ void QOpcUaStructureField::setIsOptional(bool isOptional) { - data->isOptional = isOptional; + if (isOptional != data->isOptional) { + data.detach(); + data->isOptional = isOptional; + } } QT_END_NAMESPACE diff --git a/src/opcua/client/qopcuastructurefield.h b/src/opcua/client/qopcuastructurefield.h index 924cc0a..4df98c5 100644 --- a/src/opcua/client/qopcuastructurefield.h +++ b/src/opcua/client/qopcuastructurefield.h @@ -14,7 +14,7 @@ QT_BEGIN_NAMESPACE class QOpcUaStructureFieldData; -QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT(QOpcUaStructureFieldData, Q_OPCUA_EXPORT) +QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QOpcUaStructureFieldData, Q_OPCUA_EXPORT) class QOpcUaStructureField { @@ -56,11 +56,11 @@ public: Q_OPCUA_EXPORT void setIsOptional(bool isOptional); private: - QSharedDataPointer<QOpcUaStructureFieldData> data; + QExplicitlySharedDataPointer<QOpcUaStructureFieldData> data; }; -QT_END_NAMESPACE +Q_DECLARE_SHARED(QOpcUaStructureField) -Q_DECLARE_METATYPE(QOpcUaStructureField) +QT_END_NAMESPACE #endif // QOPCUASTRUCTUREFIELD_H |