diff options
Diffstat (limited to 'src/networksettingsqml')
-rw-r--r-- | src/networksettingsqml/CMakeLists.txt | 14 | ||||
-rw-r--r-- | src/networksettingsqml/qnetworksettingsforeign.cpp | 153 | ||||
-rw-r--r-- | src/networksettingsqml/qnetworksettingsforeign.h | 121 |
3 files changed, 288 insertions, 0 deletions
diff --git a/src/networksettingsqml/CMakeLists.txt b/src/networksettingsqml/CMakeLists.txt new file mode 100644 index 0000000..db3f58c --- /dev/null +++ b/src/networksettingsqml/CMakeLists.txt @@ -0,0 +1,14 @@ +qt_internal_add_qml_module(networksettingsqml + URI "QtDeviceUtilities.NetworkSettings" + VERSION "${CMAKE_PROJECT_VERSION}" + PAST_MAJOR_VERSIONS 1 + PLUGIN_TARGET networksettingsqml + DEPENDENCIES + QtQml + SOURCES + qnetworksettingsforeign.h qnetworksettingsforeign.cpp + LIBRARIES + Qt::Core + Qt::Qml + Qt::NetworkSettings +) diff --git a/src/networksettingsqml/qnetworksettingsforeign.cpp b/src/networksettingsqml/qnetworksettingsforeign.cpp new file mode 100644 index 0000000..e0d73c0 --- /dev/null +++ b/src/networksettingsqml/qnetworksettingsforeign.cpp @@ -0,0 +1,153 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Device Utilities module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "qnetworksettingsforeign.h" + +/*! + \qmlmodule QtDeviceUtilities.NetworkSettings + \ingroup qtdevice-utilities-qml-modules + \ingroup qmlmodules + \title Qt Network Settings QML Types + + \brief Provides singleton QML types for controlling network settings. + + Qt Network Settings QML module provides singleton QML types for controlling + network settings in an embedded device. + + To import and use the module's QML types, use the following statement: + + \badcode + import QtDeviceUtilities.NetworkSettings + \endcode + + \l{Qt Device Utilities WiFi Tutorial} demonstrates how you can use + \l{QtDeviceUtilities.NetworkSettings}{NetworkSettings} for connecting to WiFi. + + \note Some functions may not be available on all of the platforms. + + \section1 QML Types +*/ + +/*! + \qmltype NetworkSettingsManager + \inqmlmodule QtDeviceUtilities.NetworkSettings + \brief A singleton QML type for managing network settings. + + There is no need to create an instance of this object. To use it, + simply import the \c {QtDeviceUtilities.NetworkSettings} module. + + \l{Qt Device Utilities WiFi Tutorial} demonstrates how you can use + \l{NetworkSettingsManager} for connecting to WiFi. +*/ + +/*! + \qmlproperty model NetworkSettingsManager::services + \readonly + + Holds the service model. A delegate in a view that uses + the \e services model can access the NetworkService + item with the \e entry role. + + The services list in the model can be controlled with the + \c type property, and NetworkService items can be retrieved + with the \c {itemFromRow(int index)} method. For example, to + select the first available wired network service: + + \code + property var service: null + ... + NetworkSettingsManager.services.type = NetworkSettingsType.Wired; + service = NetworkSettingsManager.services.itemFromRow(0); + \endcode + + Available service types: + + \value NetworkSettingsType.Wired Wired network + \value NetworkSettingsType.Wifi Wifi network + \value NetworkSettingsType.Bluetooth Bluetooth network + \value NetworkSettingsType.Unknown Unknown network type + + \sa NetworkService +*/ + +/*! + \qmlproperty model NetworkSettingsManager::interfaces + \readonly + + Holds the interface model. A delegate in a view that uses + the \e interfaces model can access the NetworkInterface + item with the \e entry role. + + \sa NetworkInterface +*/ + +/*! + \qmlmethod NetworkService NetworkSettingsManager::service(string name, int type) + + Returns the service with name \a name and type \a type. + + \sa services +*/ + +/*! + \qmlmethod NetworkInterface NetworkSettingsManager::interface(int type, int instance) + + Returns the interface with type \a type and order number of \a instance + + \sa NetworkInterface +*/ + +/*! + \qmlmethod NetworkSettingsManager::userAgent.setPassphrase(string passphrase) + + Sets the \a passphrase for connecting to a Wifi network. + + This method needs to be called in response to receiving a showUserCredentialsInput() signal. + + \sa userAgent.showUserCredentialsInput() +*/ + +/*! + \qmlsignal NetworkSettingsManager::userAgent.showUserCredentialsInput() + + This signal is emitted when user credentials are required for connecting to a Wifi network. + + \sa userAgent.setPassphrase() +*/ + +/*! + \qmlmethod NetworkSettingsManager::userAgent.cancelInput() + + Cancels the user credentials input request. +*/ + +/*! + \qmlsignal NetworkSettingsManager::userAgent.error() + + This signal is emitted when the connection failed due to invalid user credentials. +*/ diff --git a/src/networksettingsqml/qnetworksettingsforeign.h b/src/networksettingsqml/qnetworksettingsforeign.h new file mode 100644 index 0000000..ff9ec57 --- /dev/null +++ b/src/networksettingsqml/qnetworksettingsforeign.h @@ -0,0 +1,121 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Device Utilities module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef NETWORKSETTINGSPLUGIN_PLUGIN_H +#define NETWORKSETTINGSPLUGIN_PLUGIN_H + +#include <QtQml/qqml.h> +#include <QtNetworkSettings/QtNetworkSettings> + +QT_BEGIN_NAMESPACE + +struct NetworkSettingsServiceForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsService) + QML_NAMED_ELEMENT(NetworkService) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsInterfaceForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsInterface) + QML_NAMED_ELEMENT(NetworkInterface) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsIPv4Foreign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsIPv4) + QML_NAMED_ELEMENT(NetworkSettingsIPv4) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsIPv6Foreign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsIPv6) + QML_NAMED_ELEMENT(NetworkSettingsIPv6) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsProxyForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsProxy) + QML_NAMED_ELEMENT(NetworkSettingsProxy) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsWirelessForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsWireless) + QML_NAMED_ELEMENT(NetworkSettingsWireless) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsTypeForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsType) + QML_NAMED_ELEMENT(NetworkSettingsType) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +struct NetworkSettingsStateForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsState) + QML_NAMED_ELEMENT(NetworkSettingsState) + QML_UNCREATABLE("Cannot be instantiated directly.") + QML_ADDED_IN_VERSION(1, 0) +}; + +class QNetworkSettingsManagerForeign +{ + Q_GADGET + QML_FOREIGN(QNetworkSettingsManager) + QML_NAMED_ELEMENT(NetworkSettingsManager) + QML_SINGLETON + QML_ADDED_IN_VERSION(2, 0) +}; + +QT_END_NAMESPACE + +#endif // NETWORKSETTINGSPLUGIN_PLUGIN_H + |