Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qohosnetworkinformationbackend.cpp
Go to the documentation of this file.
1// Copyright (C) 2026 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#include <QtCore/qglobal.h>
6#include <QtNetwork/private/qnetworkinformation_p.h>
7
8QT_BEGIN_NAMESPACE
9
10Q_DECLARE_LOGGING_CATEGORY(lcNetInfoOhos)
11Q_LOGGING_CATEGORY(lcNetInfoOhos, "qt.network.info.ohos");
12
13namespace {
14
15QString backendName()
16{
17 return QString::fromUtf16(
18 QNetworkInformationBackend::PluginNames[QNetworkInformationBackend::PluginNamesOhosIndex]);
19}
20
21class QOhosNetworkInformationBackend : public QNetworkInformationBackend
22{
23 Q_OBJECT
24public:
25 QOhosNetworkInformationBackend();
26
27 QString name() const override;
28 QNetworkInformation::Features featuresSupported() const override;
29
30 static QNetworkInformation::Features featuresSupportedStatic();
31
32private:
33 Q_DISABLE_COPY_MOVE(QOhosNetworkInformationBackend)
34};
35
36class QOhosNetworkInformationBackendFactory : public QNetworkInformationBackendFactory
37{
38 Q_OBJECT
39 Q_PLUGIN_METADATA(IID QNetworkInformationBackendFactory_iid)
40 Q_INTERFACES(QNetworkInformationBackendFactory)
41public:
42 QOhosNetworkInformationBackendFactory() = default;
43 ~QOhosNetworkInformationBackendFactory() override = default;
44 QString name() const override;
45 QNetworkInformation::Features featuresSupported() const override;
46 QNetworkInformationBackend *
47 create(QNetworkInformation::Features requiredFeatures) const override;
48
49private:
50 Q_DISABLE_COPY_MOVE(QOhosNetworkInformationBackendFactory)
51};
52
53QString QOhosNetworkInformationBackend::name() const
54{
55 return backendName();
56}
57
58QNetworkInformation::Features QOhosNetworkInformationBackend::featuresSupported() const
59{
60 return featuresSupportedStatic();
61}
62
63QNetworkInformation::Features QOhosNetworkInformationBackend::featuresSupportedStatic()
64{
65 return {};
66}
67
68QOhosNetworkInformationBackend::QOhosNetworkInformationBackend() = default;
69
70QString QOhosNetworkInformationBackendFactory::name() const
71{
72 return backendName();
73}
74
75QNetworkInformation::Features QOhosNetworkInformationBackendFactory::featuresSupported() const
76{
77 return QOhosNetworkInformationBackend::featuresSupportedStatic();
78}
79
80QNetworkInformationBackend *
81QOhosNetworkInformationBackendFactory::create(QNetworkInformation::Features requiredFeatures) const
82{
83 if ((requiredFeatures & featuresSupported()) != requiredFeatures)
84 return nullptr;
85 return new QOhosNetworkInformationBackend();
86}
87
88}
89
90QT_END_NAMESPACE
91
92#include "qohosnetworkinformationbackend.moc"