Revision control
++ // Copyright (C) 2018 basysKom GmbH, opensource@basyskom.com
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
++ // Qt-Security score:significant reason:default
++
++ #include "qopcuabrowserequest.h"
++
++ QT_BEGIN_NAMESPACE
++
++ /*!
++ \class QOpcUaBrowseRequest
++ \inmodule QtOpcUa
++ \brief Contains parameters for a call to the OPC UA browse service.
++
++ \sa QOpcUaNode::browse()
++ */
++
++ /*!
++ \enum QOpcUaBrowseRequest::BrowseDirection
++
++ This enum specifies the possible browse directions supported by a browse call.
++
++ \value Forward Follow references in the forward direction.
++ \value Inverse Follow references in the inverse direction.
++ \value Both Follow references in both directions.
++ */
++
++ class QOpcUaBrowseRequestData : public QSharedData
++ {
++ public:
++ QOpcUaBrowseRequest::BrowseDirection browseDirection {QOpcUaBrowseRequest::BrowseDirection::Forward};
++ QString referenceTypeId;
++ bool includeSubtypes {false};
++ QOpcUa::NodeClasses nodeClassMask;
++ };
++
++ /*!
++ Default constructs a browse request with no parameters set.
++ */
++ QOpcUaBrowseRequest::QOpcUaBrowseRequest()
++ : data(new QOpcUaBrowseRequestData)
++ {
++ }
++
++ /*!
++ Creates a browse request from \a other.
++ */
++ QOpcUaBrowseRequest::QOpcUaBrowseRequest(const QOpcUaBrowseRequest &other)
++ : data(other.data)
++ {
++ }
++
++ /*!
++ Sets the values from \a rhs in this browse request.
++ */
++ QOpcUaBrowseRequest &QOpcUaBrowseRequest::operator=(const QOpcUaBrowseRequest &rhs)
++ {
++ if (this != &rhs)
++ data.operator=(rhs.data);
++ return *this;
++ }
++
++ QOpcUaBrowseRequest::~QOpcUaBrowseRequest()
++ {
++ }
++
++ /*!
++ Returns the browse direction.
++ */
++ QOpcUaBrowseRequest::BrowseDirection QOpcUaBrowseRequest::browseDirection() const
++ {
++ return data->browseDirection;
++ }
++
++ /*!
++ Sets the browse direction to \a browseDirection.
++ */
++ void QOpcUaBrowseRequest::setBrowseDirection(const QOpcUaBrowseRequest::BrowseDirection &browseDirection)
++ {
++ data->browseDirection = browseDirection;
++ }
++
++ /*!
++ Returns the reference type id.
++ */
++ QString QOpcUaBrowseRequest::referenceTypeId() const
++ {
++ return data->referenceTypeId;
++ }
++
++ /*!
++ Sets the reference type id to \a referenceTypeId.
++ */
++ void QOpcUaBrowseRequest::setReferenceTypeId(const QString &referenceTypeId)
++ {
++ data->referenceTypeId = referenceTypeId;
++ }
++
++ /*!
++ Sets the reference type id to \a referenceTypeId.
++ */
++ void QOpcUaBrowseRequest::setReferenceTypeId(QOpcUa::ReferenceTypeId referenceTypeId)
++ {
++ data->referenceTypeId = QOpcUa::nodeIdFromReferenceType(referenceTypeId);
++ }
++
++ /*!
++ Returns true if subtypes of the reference type will be retrieved too.
++ */
++ bool QOpcUaBrowseRequest::includeSubtypes() const
++ {
++ return data->includeSubtypes;
++ }
++
++ /*!
++ Sets the inclusion of subtypes of the reference type to \a includeSubtypes.
++ */
++ void QOpcUaBrowseRequest::setIncludeSubtypes(bool includeSubtypes)
++ {
++ data->includeSubtypes = includeSubtypes;
++ }
++
++ /*!
++ Returns the node class mask.
++ */
++ QOpcUa::NodeClasses QOpcUaBrowseRequest::nodeClassMask() const
++ {
++ return data->nodeClassMask;
++ }
++
++ /*!
++ Sets the node class mask to \a nodeClassMask.
++ Nodes of all classes included into the node class mask will be returned
++ by the browse operation.
++ */
++ void QOpcUaBrowseRequest::setNodeClassMask(const QOpcUa::NodeClasses &nodeClassMask)
++ {
++ data->nodeClassMask = nodeClassMask;
++ }
++
++ QT_END_NAMESPACE