Revision control

Copy as Markdown

// Copyright (C) 2019 The Qt Company Ltd.
// Copyright (C) 2015 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 "qopcuaapplicationdescription.h"
QT_BEGIN_NAMESPACE
/*!
\class QOpcUaApplicationDescription
\inmodule QtOpcUa
\brief The OPC UA ApplicationDescription.
The application description contains information about an OPC UA application.
*/
/*!
\qmltype ApplicationDescription
\inqmlmodule QtOpcUa
\brief The OPC UA ApplicationDescription.
\since QtOpcUa 5.13
\deprecated [6.9]
The application description contains information about an OPC UA application.
*/
/*!
\enum QOpcUaApplicationDescription::ApplicationType
This enum type holds the application type.
\value Server This application is a server.
\value Client This application is a client.
\value ClientAndServer This application is a client and a server.
\value DiscoveryServer This application is a discovery server.
*/
/*!
\qmlproperty enumeration ApplicationDescription::ApplicationType
The application type.
\value Server This application is a server.
\value Client This application is a client.
\value ClientAndServer This application is a client and a server.
\value DiscoveryServer This application is a discovery server.
*/
/*!
\property QOpcUaApplicationDescription::applicationName
Name describing the application.
*/
/*!
\qmlproperty LocalizedText ApplicationDescription::applicationName
Name describing the application.
*/
/*!
\property QOpcUaApplicationDescription::applicationType
The application's type: server, client, both, or discovery server.
*/
/*!
\qmlproperty ApplicationType ApplicationDescription::applicationType
The application's type: server, client, both, or discovery server.
*/
/*!
\property QOpcUaApplicationDescription::applicationUri
The globally unique identifier for this application instance.
*/
/*!
\qmlproperty string ApplicationDescription::applicationUri
The globally unique identifier for this application instance.
*/
/*!
\property QOpcUaApplicationDescription::discoveryProfileUri
The URI of the supported discovery profile.
*/
/*!
\qmlproperty string ApplicationDescription::discoveryProfileUri
The URI of the supported discovery profile.
*/
/*!
\property QOpcUaApplicationDescription::discoveryUrls
A list of URLs of discovery endpoints.
*/
/*!
\qmlproperty list ApplicationDescription::discoveryUrls
A list of URLs of discovery endpoints.
*/
/*!
\property QOpcUaApplicationDescription::gatewayServerUri
The URI of the gateway server.
*/
/*!
\qmlproperty string ApplicationDescription::gatewayServerUri
The URI of the gateway server.
*/
/*!
\property QOpcUaApplicationDescription::productUri
The globally unique identifier for this product.
*/
/*!
\qmlproperty string ApplicationDescription::productUri
The globally unique identifier for this product.
*/
class QOpcUaApplicationDescriptionData : public QSharedData
{
public:
QString applicationUri;
QString productUri;
QOpcUaLocalizedText applicationName;
QOpcUaApplicationDescription::ApplicationType applicationType{QOpcUaApplicationDescription::ApplicationType::Server};
QString gatewayServerUri;
QString discoveryProfileUri;
QList<QString> discoveryUrls;
};
/*!
Default constructs an application description with no parameters set.
*/
QOpcUaApplicationDescription::QOpcUaApplicationDescription()
: data(new QOpcUaApplicationDescriptionData)
{
}
/*!
Constructs an application description from \a other.
*/
QOpcUaApplicationDescription::QOpcUaApplicationDescription(const QOpcUaApplicationDescription &other)
: data(other.data)
{
}
/*!
Sets the values from \a other in this application description.
*/
QOpcUaApplicationDescription &QOpcUaApplicationDescription::operator=(const QOpcUaApplicationDescription &other)
{
this->data = other.data;
return *this;
}
/*!
Returns \c true if this application description has the same value as \a rhs.
*/
bool QOpcUaApplicationDescription::operator==(const QOpcUaApplicationDescription &rhs) const
{
return rhs.productUri() == productUri() &&
rhs.discoveryUrls() == discoveryUrls() &&
rhs.applicationUri() == applicationUri() &&
rhs.applicationName() == applicationName() &&
rhs.applicationType() == applicationType() &&
rhs.gatewayServerUri() == gatewayServerUri() &&
rhs.discoveryProfileUri() == rhs.discoveryProfileUri();
}
QOpcUaApplicationDescription::~QOpcUaApplicationDescription()
{
}
/*!
Returns a list of URLs of discovery endpoints.
*/
QList<QString> QOpcUaApplicationDescription::discoveryUrls() const
{
return data->discoveryUrls;
}
/*!
Returns a reference to a list of URLs of discovery endpoints.
*/
QList<QString> &QOpcUaApplicationDescription::discoveryUrlsRef()
{
return data->discoveryUrls;
}
/*!
Sets the discovery URLs to \a discoveryUrls.
*/
void QOpcUaApplicationDescription::setDiscoveryUrls(const QList<QString> &discoveryUrls)
{
data->discoveryUrls = discoveryUrls;
}
/*!
Returns the URI of the supported discovery profile.
*/
QString QOpcUaApplicationDescription::discoveryProfileUri() const
{
return data->discoveryProfileUri;
}
/*!
Sets the discovery profile URI to \a discoveryProfileUri.
*/
void QOpcUaApplicationDescription::setDiscoveryProfileUri(const QString &discoveryProfileUri)
{
data->discoveryProfileUri = discoveryProfileUri;
}
/*!
Returns the URI of the gateway server.
*/
QString QOpcUaApplicationDescription::gatewayServerUri() const
{
return data->gatewayServerUri;
}
/*!
Sets the URI of the gateway server to \a gatewayServerUri.
*/
void QOpcUaApplicationDescription::setGatewayServerUri(const QString &gatewayServerUri)
{
data->gatewayServerUri = gatewayServerUri;
}
/*!
Returns the application's type (server, client, both, discovery server).
*/
QOpcUaApplicationDescription::ApplicationType QOpcUaApplicationDescription::applicationType() const
{
return data->applicationType;
}
/*!
Sets the application type to \a applicationType.
*/
void QOpcUaApplicationDescription::setApplicationType(ApplicationType applicationType)
{
data->applicationType = applicationType;
}
/*!
Returns a name describing the application.
*/
QOpcUaLocalizedText QOpcUaApplicationDescription::applicationName() const
{
return data->applicationName;
}
/*!
Sets the application name to \a applicationName.
*/
void QOpcUaApplicationDescription::setApplicationName(const QOpcUaLocalizedText &applicationName)
{
data->applicationName = applicationName;
}
/*!
Returns the globally unique identifier for this product.
*/
QString QOpcUaApplicationDescription::productUri() const
{
return data->productUri;
}
/*!
Sets the globally unique identifier for this product to \a productUri.
*/
void QOpcUaApplicationDescription::setProductUri(const QString &productUri)
{
data->productUri = productUri;
}
/*!
Returns the globally unique identifier for this application instance.
*/
QString QOpcUaApplicationDescription::applicationUri() const
{
return data->applicationUri;
}
/*!
Sets the globally unique identifier for this application instance to \a applicationUri.
*/
void QOpcUaApplicationDescription::setApplicationUri(const QString &applicationUri)
{
data->applicationUri = applicationUri;
}
QT_END_NAMESPACE