File indexing completed on 2024-12-01 08:10:10

0001 /*
0002     SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #ifndef PLASMA_NM_ENABLED_CONNECTIONS_H
0008 #define PLASMA_NM_ENABLED_CONNECTIONS_H
0009 
0010 #include <QObject>
0011 
0012 #include <qqmlregistration.h>
0013 
0014 #include <NetworkManagerQt/Manager>
0015 
0016 class EnabledConnections : public QObject
0017 {
0018     Q_OBJECT
0019     QML_ELEMENT
0020 
0021     /**
0022      * Indicates if overall networking is currently enabled or not
0023      */
0024     Q_PROPERTY(bool networkingEnabled READ isNetworkingEnabled NOTIFY networkingEnabled)
0025     /**
0026      * Indicates if wireless is currently enabled or not
0027      */
0028     Q_PROPERTY(bool wirelessEnabled READ isWirelessEnabled NOTIFY wirelessEnabled)
0029     /**
0030      * Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch
0031      */
0032     Q_PROPERTY(bool wirelessHwEnabled READ isWirelessHwEnabled NOTIFY wirelessHwEnabled)
0033     /**
0034      * Indicates if mobile broadband devices are currently enabled or not.
0035      */
0036     Q_PROPERTY(bool wwanEnabled READ isWwanEnabled NOTIFY wwanEnabled)
0037     /**
0038      * Indicates if the mobile broadband hardware is currently enabled, i.e. the state of the RF kill switch.
0039      */
0040     Q_PROPERTY(bool wwanHwEnabled READ isWwanHwEnabled NOTIFY wwanHwEnabled)
0041 
0042 public:
0043     explicit EnabledConnections(QObject *parent = nullptr);
0044     ~EnabledConnections() override;
0045 
0046     bool isNetworkingEnabled() const;
0047     bool isWirelessEnabled() const;
0048     bool isWirelessHwEnabled() const;
0049     bool isWwanEnabled() const;
0050     bool isWwanHwEnabled() const;
0051 
0052 public Q_SLOTS:
0053     void onNetworkingEnabled(bool enabled);
0054     void onWirelessEnabled(bool enabled);
0055     void onWirelessHwEnabled(bool enabled);
0056     void onWwanEnabled(bool enabled);
0057     void onWwanHwEnabled(bool enabled);
0058 
0059 Q_SIGNALS:
0060     void networkingEnabled(bool enabled);
0061     void wirelessEnabled(bool enabled);
0062     void wirelessHwEnabled(bool enabled);
0063     void wwanEnabled(bool enabled);
0064     void wwanHwEnabled(bool enabled);
0065 
0066 private:
0067     bool m_networkingEnabled;
0068     bool m_wirelessEnabled;
0069     bool m_wirelessHwEnabled;
0070     bool m_wwanEnabled;
0071     bool m_wwanHwEnabled;
0072 };
0073 
0074 #endif // PLASMA_NM_ENABLED_CONNECTIONS_H