| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DataValue delivered by a data change notification may have a status code.
Such a status code should be reported to the node object instead of setting
it to Good.
[ChangeLog][QOpcUaNode] Report the right status code for monitored item updates
Change-Id: I2a62a475fca51eb0a95faef9bcc94037a58277c6
Pick-to: 6.7 6.6 6.5
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to QUIP-18 [1], all test files should be
LicenseRef-Qt-Commercial OR GPL-3.0-only
[1]: https://contribute.qt-project.org/quips/18
Pick-to: 6.7
Task-number: QTBUG-121787
Change-Id: Ie471cddda8cdb714640c4cbd15ac39c6911280c4
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
| |
The removal of default parameters now permits forward
declarations for some of the includes.
Pick-to: 6.7
Change-Id: Ie1e2392b7398a628454dead5630ec2505d0d2c6d
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Add forward declarations in qopcuabinarydataencoding.h where
applicable.
Pick-to: 6.7
Change-Id: Iafb1b00a1434338a55fb54cfa527f52df241a4d3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.7
Change-Id: I1a433385e19723f34a1e16fe733528ff53bfc98e
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.7
Change-Id: I28b720d97e21dbf441f699a1ee716e11ef05281b
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.7
Change-Id: I05e5e143eb74b7cd51dcbd6498af5a194ca296c0
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.7
Change-Id: I835488b964142f24e509ed8010fb23e7a53c67f1
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QOpcUaGenericStructHandler is a new class in Qt 6.7, and has two
functions that return values but might fail. The modern C++ way of
doing this is to return a std::optional, rather than return a bool with
the value returned through an out-parameter (or a default-
constructed value with a boolean out-parameter to indicate success).
Found during API review.
Pick-to: 6.7
Change-Id: Ib2ba6098f53eccab73beace6844028d0b674ca65
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
If the client is not deleted before the destructor
of the class registered for QML returns, a qDebug
call from inside the client causes a segfault.
Pick-to: 6.7 6.6
Change-Id: Idf26d0127103e9a30773bcbca3bddc4755b57cfa
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
| |
This change ensures that all asynchronous backend
activity is stopped before the destructor returns.
Change-Id: I16d34027e41e5658a771ae099c9a7b027d765e86
Pick-to: 6.7 6.6
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-84884
Change-Id: Ica0bf2f15c58b8281328376bbdd4ae823db2fe76
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds an API to create and remove a triggering link
between two monitored items on the same subscription.
[ChangeLog][Qt OPC UA] QOpcUaNode now supports SetTriggering
to set up a triggering link between two monitored items.
Change-Id: Ieea1ccf78d8f71d7bde4cd1487d5926ec6ae988c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for the built-in types Variant and DataValue
to QOpcUaBinaryDataEncoding and QOpcUaGenericStructHandler.
Structures containing fields of these types can now be decoded and
encoded.
Change-Id: If3f5dd18910f668f61bf37eed10b5d5f947e2f31
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds the new classes QOpcUaHistoryReadEventRequest and
QOpcUaHistoryEvent and extends QOpcUaClient, QOpcUaNode and
QOpcUaHistoryReadResponse with the necessary API to read historical
events from a server.
[ChangeLog][Historical data access] Qt OPC UA is now capable of
reading historical events with the open62541 plugin
Change-Id: I2ac41ec86b226d853cd065b340e3eaecbfb81ca6
Task-number: QTBUG-111745
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
| |
OpenSSL 1.1 is no longer supported by qtbase and checking for
QT_FEATURE(opensslv11) leads to a build error.
Change-Id: I823278eec8f00f183404e18289a36262109165e7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
| |
By reordering and conditional execution of QSignalSpy::wait()
and reducing some wait times when no signal is expected, the
test runtimes could be greatly reduced.
Change-Id: Ie28b27db6d636e0bb8c615860772a15febb18ce0
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Unified Automation plugin was only partially ported to Qt 6 and was since then mostly unmaintained.
New feature introduced since 5.15 and later were only available for the open62541 backend.
[ChangeLog][Qt OPC UA] The Unified Automation backend has been removed.
The open62541 backend will be able to act as a drop-in replacement for
everything except the connectError() signal.
Change-Id: I7e859133bb973256cdfe8eb9b6949379acb689b9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Vladimir Minenko <vladimir.minenko@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QOpcUaClient] QOpcUaClient now supports registerNodes()
and unregisterNodes() with the open62541 plugin.
Change-Id: I9f9137c2cbd31e45e6e9b455d23194994b16c424
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
| |
Releasing continuation points after having called readMoreData()
at least once could lead to continuation points not being released
if there was no continuation point for at least one of the nodes.
Change-Id: I09f914cc704365b57edcd82d01dd30c1350693b3
Pick-to: 6.5 6.6
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
| |
Change-Id: Ia530dd568f2247f6aca97253b8f28dd99392b956
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
| |
- Reduce number of references per node in the test server
to force continuation points
- Test adding and removing all node classes
Change-Id: I37abf70a22319152522af29929b5c7236a38c564
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- Due to a broken check for changes, there were sometimes additional
parameters in the monitoringStatusChanged() signal.
- Calling disableMonitoring() for an attribute without monitored item
didn't lead to a disableMonitoringFinished() signal.
Change-Id: I1ab7f1a999319ea74bd545f05cb9c395e3534ab8
Pick-to: 6.5 6.6
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Part 11 of the OPC UA specification defines the HistoricalEventNode
object type which has a mandatory property named HistoricalEventFilter
which determines which events and which of their fields are historized.
Reading this property requires support for reading the EventFilter type
and all types it depends on.
[ChangeLog][open62541 plugin] The open62541 plugin is now capable of
reading and writing EventFilter and its dependency types.
Change-Id: Ibbacbab04bd6ef0ba3c1eb348a6811e76ad9100c
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds a class which traverses the data type hierarchy of an
OPC UA server and provides a method to decode and encode generic structured
types from/to extension objects.
The server must expose the structure definition in the DataTypeDefinition
attribute of the DataType node.
[ChangeLog][Qt OPC UA] Qt OPC UA has been extended with a generic struct
handler which enables the user to automatically decode structured types
having the DataTypeDefintion attribute set.
Change-Id: Ia1125f68d7da3c2687e8900bbc66d3312e10b837
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DiagnosticInfo is a built-in OPC UA type which is used together
with a string table in the response header to provide additional
diagnostics for a service call.
We don't expose the string table but we need this type to support
generic type decoding (for example, TransferResultErrorDataType
in the DI model contains a DiagnosticInfo field.
Reading and writing the new type is currently only supported in
the open62541 plugin. QOpcUaBinaryDataEncoding has been extended
to encode and decode the new types.
[ChangeLog][Qt OPC UA] The DiagnosticInfo data type is now available
for reading and writing.
Change-Id: I3828d665e3450c0d6281d15da008d6c70b61c396
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change extends the node attribute enum with the DataTypeDefinition
attribute and adds the necessary new types for reading and writing:
- QOpcUaStructureField
- QOpcUaStructureDefinition
- QOpcUaEnumField
- QOpcUaEnumDefinition
Reading and writing the new types is currently only supported in the open62541 plugin.
QOpcUaBinaryDataEncoding has been extended to encode and decode the new types.
The DataType attribute contains the full description of the data type and enabled
the user to generically decode binary encoded extension objects.
[ChangeLog][QOpcUaNode] The DataTypeDefinition attribute of DataType nodes can now
be read. This allows manual decoding of generic structured and enum types.
Change-Id: I9ca5b3a8f30e7929e194b370d307261f6293747d
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Depending on its configuration, the open62541 stack decodes several
data types we don't have Qt types for.
This patch adds the capability to re-encode them into an extension object
to allow the user to decode the data using QpcUaBinaryDataEncoding.
This makes the plugin more robust against different build variants
of open62541 and the current parameter set becomes a minimal requirement.
[ChangeLog][open62541 plugin] Unknown types that are decoded by the stack
and have no Qt OPC UA data classes will now be re-encoded and returned
as extension object instead of an empty QVariant.
Change-Id: I16408e6adf4f16e38430b32c6496c64b32becf62
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing an empty string to QOpcUaBinaryDataEncodung::encode()
for NodeId leads to an encoding error. This change adds ns=0;i=0
as fallback value so the user is not forced to initialize unused
node id struct members.
[ChangeLog][QOpcUaBinaryDataEncoding] Encoding empty strings as
node id is now permitted.
Change-Id: I71757ca9db22397816f3715820f7907c3aa2e710
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The value attribute is the most used node attribute in usual scenarios.
A single-purpose signal for value attribute updates allows connecting
it directly to slots taking a QVariant without having to filter for
the value attribute like in attributeUpdated().
Task-number: QTBUG-105519
Change-Id: Iedd78d1e369d6de2f9ef39f21764466c3721e78b
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The support for the where clause has been greatly improved in
open62541 1.3, so we can finally enable the severity filter test
in Tst_QOpcUaClient::eventSubscription().
Task-number: QTBUG-75555
Change-Id: I54a6b81083a08cb1fec6a7fa4e4aa4090b9aa0b2
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
By adding it to the default build flags via .cmake.conf.
This amends commit c44fa839135e494f9d7fb6ffcf759ed1f4bf6952.
Task-number: QTBUG-116296
Change-Id: I275c90db11ecec05cc043b03c0268744b5d96644
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
| |
Change-Id: I6cfec417f3d165104b7da8d6e43f9a5eb29d599f
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RHEL 9 ships the OpenSSL libraries with SHA-1 signatures disabled.
The security policies Basic128Rsa15 and Basic256 rely on SHA-1
which renders them unsupported on this platform.
This change checks for support and removes the two policies from
the list returned by QOpcUaClient::supportedSecurityPolicies()
and the endpoints in the test server if necessary.
Change-Id: I7bf9f903b159d794ef02163760d0c4c4781538e9
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
|
|
|
|
|
|
|
|
|
| |
Continuing to blacklist this now and removing from blacklist when
fix is merged. Was meant to be fixed ASAP last time.
Task-number: QTBUG-106285
Change-Id: I2983700ae5568b5561eb20ccd05015405f6cceae
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix extended key usage with OpenSSL 3.0
- Client certificates need extended key usage clientAuth
- Add new certificate to the OPC UA viewer example
Change-Id: Ib0664bc4fc1edb4e5d3b6f78e1cdfc9e9655ac7c
Pick-to: 6.5
Pick-to: 6.6
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I17b48757cf0de6b123c96db4dfc7d227c6384071
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
| |
Let's blacklist this now and remove the blacklisting when fix is
merged. Should be fixed ASAP.
Task-number: QTBUG-106285
Change-Id: If9a179df2f25574326cc1df4905cbb161647973b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
The open62541 plugin now supports the Aes128_Sha256_RsaOaep security policy.
MacOS on M1 has been disabled due to issue #5198 in open62541.
Change-Id: I8b1cf704a9a0532fa9eb2c9099cac62ac9263a49
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: Ica78a615605aebc9c592d12840e9ddbbc19af430
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: Iab31277267e17fb52d08da1144970739be31f54f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
| |
open62541: Assign int value to double node::test_nodeTest()
Pick-to: 6.4
Task-number: QTBUG-104418
Change-Id: Idf92bcc259a06e7a91143d3b3abf7f917943613f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Ia8401e033fc4b7414e798d1cc5da90977ad5f29b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
| |
Change-Id: Ie1019a00dd76a5d3a37cac10c44a424b4708b536
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: I775b4a5dd13b8e930cef494af42f81ec6f8b242a
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I5678b086dc1da06fc2045a82b5678949b40f267e
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tests are relying on QProcess to run a server that should be
packaged with the test, Android has a limitation that prevents
running such server with QProcess, thus the tests won't work.
Since it seems all tests are using that same mechanism here, that's
why disabling them seem better to avoid building, running and then
just skipping at the end.
Task-number: QTBUG-88846
Pick-to: 6.2 6.3
Change-Id: I50a08f03e2486f9fcf08f753e44a1641b650e326
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
|
|
|
|
|
|
|
|
| |
Amends fc9ee3e00
Pick-to: 6.3
Change-Id: Ida41cb7d8db01999db845bc5081d4cce6f902a05
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Explicit version numbers in QML imports are optional since Qt 6,
and actually not recommended.
Pick-to: 6.3
Fixes: QTBUG-99989
Change-Id: Ife02a1b7ca97215ccc39e20013715cb10ce55b3e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Open62541 is already attributed in src/3rdparty/open62541/qt_attribution.json.
Remove the second qt_attribution.json file.
List actually all licenses that are mentioned in the sources.
[ChangeLog][Third-Party Code] Complete list of licenses in opengl62541
files: MPL-2.0, CC0-1.0, CC-BY-SA-4.0, BSD-3-Clause, Apache-2.0, and MIT
Pick-to: 6.3
Change-Id: I8080748563d71838b38e0f5975559e6980a4f0b3
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|