From c5427c2eb9f38d9706e97ffc20d2f4d3e395f9bc Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 17 Apr 2019 14:40:26 +0200 Subject: Doc: Make "Qt for Automation" the home page for Qt OPC UA docs When users click the Qt version number on the bread crumb bar in the Qt OPC UA docs, they are directed to the Qt for Automation docs at doc.qt.io. Change-Id: Ic7b73e600e002f25d3cc97914101e97a660af4a7 Reviewed-by: Rainer Keller --- src/opcua/doc/qtopcua.qdocconf | 1 + 1 file changed, 1 insertion(+) diff --git a/src/opcua/doc/qtopcua.qdocconf b/src/opcua/doc/qtopcua.qdocconf index e053b13..7fbc252 100644 --- a/src/opcua/doc/qtopcua.qdocconf +++ b/src/opcua/doc/qtopcua.qdocconf @@ -49,6 +49,7 @@ examples.fileextensions = "*.cpp" navigation.landingpage = "Qt OPC UA" navigation.cppclassespage = "Qt OPC UA C++ Classes" navigation.qmltypespage = "Qt OPC UA QML Types" +navigation.homepage = "Qt for Automation" examplesinstallpath = opcua -- cgit v1.2.3 From e42d517e350c18d6e6c5c3081e3005f10a5c20ab Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Wed, 17 Apr 2019 15:18:03 +0200 Subject: Fix documentation issues Change-Id: I88100289f8c8ee577cb3391904230ad659540a44 Reviewed-by: Rainer Keller --- src/opcua/client/qopcuaclient.cpp | 1 + src/opcua/client/qopcuamonitoringparameters.cpp | 4 ++-- src/opcua/client/qopcuatype.cpp | 14 ++++++++++++++ src/opcua/core/qopcuaprovider.cpp | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/opcua/client/qopcuaclient.cpp b/src/opcua/client/qopcuaclient.cpp index ccabefa..4d70e59 100644 --- a/src/opcua/client/qopcuaclient.cpp +++ b/src/opcua/client/qopcuaclient.cpp @@ -736,6 +736,7 @@ QString QOpcUaClient::backend() const Enabling this will keep the local copy of the namespace table updated automatically. \l namespaceArrayUpdated will be emitted when the array changed. + \a isEnabled determines if autoupdate is being enabled or disabled. A subscription will be made on the node on the server to keep track of changes. In case a server does not support subscriptions this will not work and diff --git a/src/opcua/client/qopcuamonitoringparameters.cpp b/src/opcua/client/qopcuamonitoringparameters.cpp index 9b9947a..6b43a90 100644 --- a/src/opcua/client/qopcuamonitoringparameters.cpp +++ b/src/opcua/client/qopcuamonitoringparameters.cpp @@ -464,7 +464,7 @@ QVariant QOpcUaMonitoringParameters::filter() const If another data change filter or an event filter is present, it will be replaced. If the server does not accept the filter, this will be indicated by the - status code after the \l enableMonitoring() request has finished. + status code after the \l QOpcUaNode::enableMonitoring() request has finished. \sa filter() */ @@ -477,7 +477,7 @@ void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::Dat Request \a eventFilter as filter for the monitored item. If another event filter or a data change filter is present, it will be replaced. If the server does not accept the filter, this will be indicated by the - status code and the event filter result after the \l enableMonitoring() + status code and the event filter result after the \l QOpcUaNode::enableMonitoring() request has finished. \sa filter() diff --git a/src/opcua/client/qopcuatype.cpp b/src/opcua/client/qopcuatype.cpp index 1416a26..6f55db8 100644 --- a/src/opcua/client/qopcuatype.cpp +++ b/src/opcua/client/qopcuatype.cpp @@ -630,12 +630,26 @@ void QOpcUa::QQualifiedName::setName(const QString &name) The two members of this type contain the actual text and the locale of the text. */ +/*! + \property QOpcUa::QLocalizedText::text + + Textual content. +*/ + /*! \qmlproperty string LocalizedText::text Textual content. */ +/*! + \property QOpcUa::QLocalizedText::locale + + Locale of the contained text. + This has to be in a modified ISO standard notation, for example \c en-US. + See OPC UA specification part 3, 8.4 for details. +*/ + /*! \qmlproperty string LocalizedText::locale diff --git a/src/opcua/core/qopcuaprovider.cpp b/src/opcua/core/qopcuaprovider.cpp index ea17902..ecf6e3a 100644 --- a/src/opcua/core/qopcuaprovider.cpp +++ b/src/opcua/core/qopcuaprovider.cpp @@ -197,7 +197,7 @@ static QOpcUaPlugin *loadPlugin(const QString &key) The user is responsible for deleting the returned \l QOpcUaClient object when it is no longer needed. - The optional argument \c backendProperties can be used to pass custom backend specific settings as key value pairs. + The optional argument \a backendProperties can be used to pass custom backend specific settings as key value pairs. Those settings are specific to the backend being instantiated. Available settings are -- cgit v1.2.3 From 32c2d76a800bf0b745f237866180b74231a4df0d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 24 Apr 2019 16:50:23 +0200 Subject: Doc: Unify the module front page with other Qt4IA modules Also apply the Qt writing style and fix some style and language issues. Change-Id: I849057cd2e92ea14739c230c5d947cc32f568677 Reviewed-by: Rainer Keller --- src/opcua/doc/src/qtopcua.qdoc | 100 +++++++++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 39 deletions(-) diff --git a/src/opcua/doc/src/qtopcua.qdoc b/src/opcua/doc/src/qtopcua.qdoc index aa2c711..e87db19 100644 --- a/src/opcua/doc/src/qtopcua.qdoc +++ b/src/opcua/doc/src/qtopcua.qdoc @@ -1,5 +1,6 @@ /**************************************************************************** ** +** Copyright (C) 2019 The Qt Company Ltd. ** Copyright (C) 2015 basysKom GmbH, info@basyskom.com ** Contact: https://www.qt.io/licensing/ ** @@ -68,12 +69,11 @@ \brief Implements OPC UA connectivity through a Qt API. \preliminary - The Qt \l{Qt OPC UA#A short introduction to OPC UA}{OPC UA} module - implements a Qt API to interact with OPC UA on top of a 3rd party - OPC UA stack. + The \l{Qt OPC UA Overview}{Qt OPC UA} module implements a Qt API to + interact with OPC UA on top of a 3rd party OPC UA stack. - The stacks are connected via plugins and can be selected/switched at runtime. - Currently, the following implementations are supported + The stacks are integrated as plugins and can be selected at runtime. + Currently, the following implementations are supported: \list \li Open62541 v0.3, MPLv2 @@ -81,34 +81,67 @@ \endlist This module is still in development but is available as a technology preview. - This means it is unstable, likely to change and provided as a convenience only. + This means it is unstable, likely to change, and provided as a convenience only. \section1 Getting started - Add the following line to your .pro file + To include the definitions of the module's classes, use the following + directive: + \code - QT += opcua + #include \endcode - and include the Qt OPC UA headers into your files using + + To link against the module, add this line to your \l qmake \c .pro file: + \code - #include + QT += opcua \endcode - The \l{Qt OPC UA Examples}{examples} demonstrate how to use Qt OPC UA API to interact with an OPC UA server. + \section1 Articles and Guides + + \list + \li \l{Qt OPC UA Overview}{Overview} + \li \l{Building Qt OPC UA Open62541 Plugin} + \li \l{Building Qt OPC UA UACPP Plugin} + \li \l{https://opcfoundation.org/about/opc-technologies/opc-ua/} + {OPC UA at the OPC foundation} + \endlist + + \section1 Examples + + \list + \li \l{Qt OPC UA Examples}{Examples} + \endlist + + \section1 Reference + + \list + \li \l{Qt OPC UA C++ Classes}{C++ Classes} + \li \l{Qt OPC UA QML Types}{QML Types} + \endlist +*/ + +/*! + \page qtopcua-overview.html + \title Qt OPC UA Overview - \section1 A short introduction to OPC UA OPC UA is a protocol for data modelling and exchange of data in industrial applications. - An OPC UA server offers access to data which is organized in a mesh of nodes connected by references. + An OPC UA server offers access to data that is organized in a mesh of nodes + connected by references. The use of different reference types and nodes containing metadata enable a client to navigate and interpret the data without knowing their structure in advance. Each node has a unique identifier and attributes that can be read and written. - Among others, there are Variable nodes which store values and callable Method nodes with attached nodes describing - parameters and return values. Notifications in case of events and monitoring of Variable nodes for value changes are offered too. + Among others, there are \e Variable nodes that store values and callable + \e Method nodes with attached nodes describing parameters and return values. + \e Notifications in case of events and monitoring of Variable nodes for + value changes are offered too. - Complex objects can be created by combining nodes using references, inheritance is also possible. - OPC UA offers support for pre-made models which can be extended to fit special needs. + Complex objects can be created by combining nodes using references. + Inheritance is also possible. OPC UA offers support for pre-made models + that can be extended to fit special needs. OPC UA is the platform-independent successor of OPC Classic intended for usage on all levels, from embedded sensors up to manufacturing execution and enterprise resource planning systems. @@ -116,9 +149,10 @@ There are different ways for these messages to be encoded and transported over the network. The most common way is binary encoding over TCP. - \section1 Implemented features from the OPC UA protocol + \section1 Implemented Features from the OPC UA Protocol - The following features of OPC UA are supported by Qt OPC UA: + The following table summarizes the features of OPC UA that are supported by + Qt OPC UA. \table \header @@ -183,7 +217,7 @@ \li \endtable - \section1 Data types + \section1 Data Types A subset of the OPC UA data types is currently supported in Qt OPC UA. Most of them are available with all backends. @@ -320,13 +354,14 @@ \li QOpcUa::QExtensionObject \endtable - \section1 Classes and ownership + \section1 Classes and Ownership Two important classes are exposed to the user: QOpcUaClient and QOpcUaNode. Objects of both classes are owned by the user and must be deleted when they are no longer needed. - \section1 Logging categories - The following logging categories are used by Qt OPC UA + \section1 Logging Categories + The following table summarizes the logging categories that are used by + Qt OPC UA. \table \header \li Logging Category @@ -351,13 +386,12 @@ the \l{GNU General Public License, version 2}. See \l{Qt Licensing} for further details. - Furthermore Qt OPC UA contains plugins under following licenses: - - Qt OPC Ua in Qt \QtVersion may contain third party modules under following permissive licenses: + Qt OPC UA in Qt \QtVersion may contain third party modules under following + permissive licenses: \generatelist{groupsbymodule attributions-qtopcua} - Linking to external libraries involves licenses from the backend providers: + Linking to external libraries involves licenses from the backend providers. \section2 Open62541 @@ -368,18 +402,6 @@ The UA CPP plugin is available under commercial licenses from \l{The Qt Company}. The UA CPP library itself is available under commercial licenses from \l {https://www.unified-automation.com}{Unified Automation}. - - \section1 Related Information - - \list - \li \l{Building Qt OPC UA Open62541 Plugin} - \li \l{Building Qt OPC UA UACPP Plugin} - \li \l{Qt OPC UA C++ Classes}{C++ Classes} - \li \l{Qt OPC UA QML Types}{QML Types} - \li \l{Qt OPC UA Examples}{Examples} - \li \l{https://opcfoundation.org/about/opc-technologies/opc-ua/}{OPC UA at the OPC foundation} - \endlist - */ /*! -- cgit v1.2.3 From 52254ed121dde68293e99b96c4713d360ff6e90a Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 23 May 2019 11:19:07 +0200 Subject: Bump version --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index a10becd..8ff9dae 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) ROOT_SOURCE_DIR=$$PWD ROOT_BUILD_DIR=$$shadowed($$PWD) -MODULE_VERSION = 5.12.3 +MODULE_VERSION = 5.12.4 -- cgit v1.2.3 From 179c500bcd93a391901d1282e8eaa6668349e679 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Thu, 20 Jun 2019 14:12:02 +0200 Subject: Fix build with -no-gui MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTQAINFRA-2576 Change-Id: I34b3c66f53ef03d83906b8df7236b0f50e34fe71 Reviewed-by: Maurice Kalinowski Reviewed-by: Simon Hausmann Reviewed-by: Jörg Bornemann --- examples/opcua/opcua.pro | 2 +- src/opcua/opcua.pro | 1 + src/plugins/opcua/open62541/open62541.pro | 1 + src/plugins/opcua/uacpp/uacpp.pro | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/opcua/opcua.pro b/examples/opcua/opcua.pro index 75f5761..eb396c5 100644 --- a/examples/opcua/opcua.pro +++ b/examples/opcua/opcua.pro @@ -1,5 +1,5 @@ TEMPLATE = subdirs -SUBDIRS += \ +qtHaveModule(widgets): SUBDIRS += \ opcuaviewer \ QT_FOR_CONFIG += opcua-private diff --git a/src/opcua/opcua.pro b/src/opcua/opcua.pro index fba759b..2f77a5e 100644 --- a/src/opcua/opcua.pro +++ b/src/opcua/opcua.pro @@ -1,5 +1,6 @@ TARGET = QtOpcUa QT += core-private +QT -= gui include(core/core.pri) include(client/client.pri) diff --git a/src/plugins/opcua/open62541/open62541.pro b/src/plugins/opcua/open62541/open62541.pro index 90a56f6..5f77419 100644 --- a/src/plugins/opcua/open62541/open62541.pro +++ b/src/plugins/opcua/open62541/open62541.pro @@ -1,5 +1,6 @@ TARGET = open62541_backend QT += core core-private opcua opcua-private network +QT -= gui qtConfig(open62541):!qtConfig(system-open62541) { include($$PWD/../../../3rdparty/open62541.pri) diff --git a/src/plugins/opcua/uacpp/uacpp.pro b/src/plugins/opcua/uacpp/uacpp.pro index 9f341c3..ce36432 100644 --- a/src/plugins/opcua/uacpp/uacpp.pro +++ b/src/plugins/opcua/uacpp/uacpp.pro @@ -1,5 +1,6 @@ TARGET = uacpp_backend QT += core core-private opcua opcua-private network +QT -= gui QMAKE_USE += uacpp win32: DEFINES += _UA_STACK_USE_DLL -- cgit v1.2.3 From d089a19e743f51b3fdf05aadd769725b7f6677e8 Mon Sep 17 00:00:00 2001 From: Jannis Voelker Date: Wed, 5 Jun 2019 14:08:50 +0200 Subject: Fix issue with monitored item modification in the open62541 backend Include the changes from open62541 pull request #2746 into the third party code. Change-Id: If9474ad4a3cfbc3d40c8eaae608d61007e35acae Reviewed-by: Rainer Keller --- src/3rdparty/open62541/open62541.c | 40 ++++++- src/3rdparty/open62541/open62541.h | 27 +++-- ...0001-open62541-fix-monitored-items-modify.patch | 126 +++++++++++++++++++++ 3 files changed, 178 insertions(+), 15 deletions(-) create mode 100644 src/patches/0001-open62541-fix-monitored-items-modify.patch diff --git a/src/3rdparty/open62541/open62541.c b/src/3rdparty/open62541/open62541.c index 217137a..411b267 100644 --- a/src/3rdparty/open62541/open62541.c +++ b/src/3rdparty/open62541/open62541.c @@ -1,6 +1,6 @@ /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES * visit http://open62541.org/ for information about this software - * Git-Revision: v0.3.0 + * Git-Revision: v0.3.0-1-g1bcad96 */ /* @@ -38175,6 +38175,44 @@ UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionI return retval; } +UA_ModifyMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_modify(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request) { + UA_ModifyMonitoredItemsResponse response; + + UA_Client_Subscription *sub = 0; + LIST_FOREACH(sub, &client->subscriptions, listEntry) { + if (sub->subscriptionId == request.subscriptionId) + break; + } + + if (!sub) { + UA_ModifyMonitoredItemsResponse_init(&response); + response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; + return response; + } + + UA_ModifyMonitoredItemsRequest modifiedRequest; + UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); + + for (size_t i = 0; i < modifiedRequest.itemsToModifySize; ++i) { + UA_Client_MonitoredItem *mon = 0; + LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { + if(mon->monitoredItemId == modifiedRequest.itemsToModify[i].monitoredItemId) { + modifiedRequest.itemsToModify[i].requestedParameters.clientHandle = mon->clientHandle; + break; + } + } + } + + __UA_Client_Service(client, + &modifiedRequest, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], + &response, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); + + UA_ModifyMonitoredItemsRequest_deleteMembers(&modifiedRequest); + return response; +} + /*************************************/ /* Async Processing of Notifications */ /*************************************/ diff --git a/src/3rdparty/open62541/open62541.h b/src/3rdparty/open62541/open62541.h index f53419f..67200cb 100644 --- a/src/3rdparty/open62541/open62541.h +++ b/src/3rdparty/open62541/open62541.h @@ -1,6 +1,6 @@ /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES * visit http://open62541.org/ for information about this software - * Git-Revision: v0.3.0 + * Git-Revision: v0.3.0-1-g1bcad96 */ /* @@ -36,7 +36,7 @@ extern "C" { #define UA_OPEN62541_VER_MINOR 3 #define UA_OPEN62541_VER_PATCH 0 #define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */ -#define UA_OPEN62541_VER_COMMIT "v0.3.0" +#define UA_OPEN62541_VER_COMMIT "v0.3.0-1-g1bcad96" /** * Feature Options @@ -15022,8 +15022,8 @@ UA_Client_Subscriptions_setPublishingMode(UA_Client *client, * forward Event notifications from that node. * * During the creation of a MonitoredItem, the server may return changed - * adjusted parameters. Use ``UA_Client_MonitoredItem_getParameters`` to get the - * current parameters. */ + * adjusted parameters. Check the returned ``UA_CreateMonitoredItemsResponse`` + * to get the current parameters. */ /* Provides default values for a new monitored item. */ static UA_INLINE UA_MonitoredItemCreateRequest @@ -15039,6 +15039,10 @@ UA_MonitoredItemCreateRequest_default(UA_NodeId nodeId) { return request; } +/** + * The clientHandle parameter can't be set by the user, any value will be replaced + * by the client before sending the request to the server. */ + /* Callback for the deletion of a MonitoredItem */ typedef void (*UA_Client_DeleteMonitoredItemCallback) (UA_Client *client, UA_UInt32 subId, void *subContext, @@ -15088,20 +15092,15 @@ UA_Client_MonitoredItems_delete(UA_Client *client, const UA_DeleteMonitoredItems UA_StatusCode UA_EXPORT UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId); +/* The clientHandle parameter will be filled automatically */ +UA_ModifyMonitoredItemsResponse UA_EXPORT +UA_Client_MonitoredItems_modify(UA_Client *client, + const UA_ModifyMonitoredItemsRequest request); + /** * The following service calls go directly to the server. The MonitoredItem settings are * not stored in the client. */ -static UA_INLINE UA_ModifyMonitoredItemsResponse -UA_Client_MonitoredItems_modify(UA_Client *client, - const UA_ModifyMonitoredItemsRequest request) { - UA_ModifyMonitoredItemsResponse response; - __UA_Client_Service(client, - &request, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], - &response, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); - return response; -} - static UA_INLINE UA_SetMonitoringModeResponse UA_Client_MonitoredItems_setMonitoringMode(UA_Client *client, const UA_SetMonitoringModeRequest request) { diff --git a/src/patches/0001-open62541-fix-monitored-items-modify.patch b/src/patches/0001-open62541-fix-monitored-items-modify.patch new file mode 100644 index 0000000..b5cc41a --- /dev/null +++ b/src/patches/0001-open62541-fix-monitored-items-modify.patch @@ -0,0 +1,126 @@ +diff --git a/src/3rdparty/open62541/open62541.c b/src/3rdparty/open62541/open62541.c +index 217137a..411b267 100644 +--- a/src/3rdparty/open62541/open62541.c ++++ b/src/3rdparty/open62541/open62541.c +@@ -1,6 +1,6 @@ + /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES + * visit http://open62541.org/ for information about this software +- * Git-Revision: v0.3.0 ++ * Git-Revision: v0.3.0-1-g1bcad96 + */ + + /* +@@ -38175,6 +38175,44 @@ UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionI + return retval; + } + ++UA_ModifyMonitoredItemsResponse UA_EXPORT ++UA_Client_MonitoredItems_modify(UA_Client *client, ++ const UA_ModifyMonitoredItemsRequest request) { ++ UA_ModifyMonitoredItemsResponse response; ++ ++ UA_Client_Subscription *sub = 0; ++ LIST_FOREACH(sub, &client->subscriptions, listEntry) { ++ if (sub->subscriptionId == request.subscriptionId) ++ break; ++ } ++ ++ if (!sub) { ++ UA_ModifyMonitoredItemsResponse_init(&response); ++ response.responseHeader.serviceResult = UA_STATUSCODE_BADSUBSCRIPTIONIDINVALID; ++ return response; ++ } ++ ++ UA_ModifyMonitoredItemsRequest modifiedRequest; ++ UA_ModifyMonitoredItemsRequest_copy(&request, &modifiedRequest); ++ ++ for (size_t i = 0; i < modifiedRequest.itemsToModifySize; ++i) { ++ UA_Client_MonitoredItem *mon = 0; ++ LIST_FOREACH(mon, &sub->monitoredItems, listEntry) { ++ if(mon->monitoredItemId == modifiedRequest.itemsToModify[i].monitoredItemId) { ++ modifiedRequest.itemsToModify[i].requestedParameters.clientHandle = mon->clientHandle; ++ break; ++ } ++ } ++ } ++ ++ __UA_Client_Service(client, ++ &modifiedRequest, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], ++ &response, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); ++ ++ UA_ModifyMonitoredItemsRequest_deleteMembers(&modifiedRequest); ++ return response; ++} ++ + /*************************************/ + /* Async Processing of Notifications */ + /*************************************/ +diff --git a/src/3rdparty/open62541/open62541.h b/src/3rdparty/open62541/open62541.h +index f53419f..67200cb 100644 +--- a/src/3rdparty/open62541/open62541.h ++++ b/src/3rdparty/open62541/open62541.h +@@ -1,6 +1,6 @@ + /* THIS IS A SINGLE-FILE DISTRIBUTION CONCATENATED FROM THE OPEN62541 SOURCES + * visit http://open62541.org/ for information about this software +- * Git-Revision: v0.3.0 ++ * Git-Revision: v0.3.0-1-g1bcad96 + */ + + /* +@@ -36,7 +36,7 @@ extern "C" { + #define UA_OPEN62541_VER_MINOR 3 + #define UA_OPEN62541_VER_PATCH 0 + #define UA_OPEN62541_VER_LABEL "" /* Release candidate label, etc. */ +-#define UA_OPEN62541_VER_COMMIT "v0.3.0" ++#define UA_OPEN62541_VER_COMMIT "v0.3.0-1-g1bcad96" + + /** + * Feature Options +@@ -15022,8 +15022,8 @@ UA_Client_Subscriptions_setPublishingMode(UA_Client *client, + * forward Event notifications from that node. + * + * During the creation of a MonitoredItem, the server may return changed +- * adjusted parameters. Use ``UA_Client_MonitoredItem_getParameters`` to get the +- * current parameters. */ ++ * adjusted parameters. Check the returned ``UA_CreateMonitoredItemsResponse`` ++ * to get the current parameters. */ + + /* Provides default values for a new monitored item. */ + static UA_INLINE UA_MonitoredItemCreateRequest +@@ -15039,6 +15039,10 @@ UA_MonitoredItemCreateRequest_default(UA_NodeId nodeId) { + return request; + } + ++/** ++ * The clientHandle parameter can't be set by the user, any value will be replaced ++ * by the client before sending the request to the server. */ ++ + /* Callback for the deletion of a MonitoredItem */ + typedef void (*UA_Client_DeleteMonitoredItemCallback) + (UA_Client *client, UA_UInt32 subId, void *subContext, +@@ -15088,20 +15092,15 @@ UA_Client_MonitoredItems_delete(UA_Client *client, const UA_DeleteMonitoredItems + UA_StatusCode UA_EXPORT + UA_Client_MonitoredItems_deleteSingle(UA_Client *client, UA_UInt32 subscriptionId, UA_UInt32 monitoredItemId); + ++/* The clientHandle parameter will be filled automatically */ ++UA_ModifyMonitoredItemsResponse UA_EXPORT ++UA_Client_MonitoredItems_modify(UA_Client *client, ++ const UA_ModifyMonitoredItemsRequest request); ++ + /** + * The following service calls go directly to the server. The MonitoredItem settings are + * not stored in the client. */ + +-static UA_INLINE UA_ModifyMonitoredItemsResponse +-UA_Client_MonitoredItems_modify(UA_Client *client, +- const UA_ModifyMonitoredItemsRequest request) { +- UA_ModifyMonitoredItemsResponse response; +- __UA_Client_Service(client, +- &request, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSREQUEST], +- &response, &UA_TYPES[UA_TYPES_MODIFYMONITOREDITEMSRESPONSE]); +- return response; +-} +- + static UA_INLINE UA_SetMonitoringModeResponse + UA_Client_MonitoredItems_setMonitoringMode(UA_Client *client, + const UA_SetMonitoringModeRequest request) { -- cgit v1.2.3 From 532fc867bbb8e4f35c4ff6940e401496152c3242 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Mon, 1 Jul 2019 16:07:36 +0200 Subject: Bump version --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index 8ff9dae..39eb2d7 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -3,4 +3,4 @@ load(qt_build_config) ROOT_SOURCE_DIR=$$PWD ROOT_BUILD_DIR=$$shadowed($$PWD) -MODULE_VERSION = 5.12.4 +MODULE_VERSION = 5.12.5 -- cgit v1.2.3