File indexing completed on 2024-04-28 16:52:22
0001 // SPDX-FileCopyrightText: 2021 Tobias Fella <fella@posteo.de> 0002 // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #pragma once 0006 0007 #include <ModemManagerQt/Manager> 0008 #include <ModemManagerQt/Modem3Gpp> 0009 0010 #include <NetworkManagerQt/Connection> 0011 #include <NetworkManagerQt/ModemDevice> 0012 0013 #include <QObject> 0014 0015 // We make the assumption that there is only one modem. 0016 class SignalIndicator : public QObject 0017 { 0018 Q_OBJECT 0019 0020 Q_PROPERTY(int strength READ strength NOTIFY strengthChanged) 0021 Q_PROPERTY(QString name READ name NOTIFY nameChanged) 0022 Q_PROPERTY(bool modemAvailable READ modemAvailable NOTIFY modemAvailableChanged) 0023 Q_PROPERTY(bool simLocked READ simLocked NOTIFY simLockedChanged) 0024 Q_PROPERTY(bool simEmpty READ simEmpty NOTIFY simEmptyChanged) 0025 Q_PROPERTY(bool mobileDataSupported READ mobileDataSupported NOTIFY mobileDataSupportedChanged) 0026 Q_PROPERTY(bool mobileDataEnabled READ mobileDataEnabled WRITE setMobileDataEnabled NOTIFY mobileDataEnabledChanged) 0027 Q_PROPERTY(bool needsAPNAdded READ needsAPNAdded NOTIFY mobileDataEnabledChanged) 0028 0029 public: 0030 SignalIndicator(QObject *parent = nullptr); 0031 0032 int strength() const; 0033 QString name() const; 0034 bool modemAvailable() const; 0035 bool simLocked() const; 0036 bool simEmpty() const; 0037 bool mobileDataSupported() const; 0038 bool mobileDataEnabled() const; 0039 bool needsAPNAdded() const; 0040 0041 void setMobileDataEnabled(bool enabled); 0042 0043 Q_SIGNALS: 0044 void strengthChanged(); 0045 void nameChanged(); 0046 void modemAvailableChanged(); 0047 void simLockedChanged(); 0048 void simEmptyChanged(); 0049 void mobileDataSupportedChanged(); 0050 void mobileDataEnabledChanged(); 0051 0052 private: 0053 NetworkManager::ModemDevice::Ptr m_nmModem; 0054 ModemManager::ModemDevice::Ptr m_modemDevice; 0055 ModemManager::Modem::Ptr m_modem; 0056 ModemManager::Modem3gpp::Ptr m_3gppModem; 0057 0058 void updateModemManagerModem(); 0059 void updateNetworkManagerModem(); 0060 };