Warning, file /plasma/plasma-nm/libs/declarative/connectionicon.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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_CONNECTION_ICON_H
0008 #define PLASMA_NM_CONNECTION_ICON_H
0009 
0010 #include <ModemManagerQt/Modem>
0011 #include <NetworkManagerQt/ActiveConnection>
0012 #include <NetworkManagerQt/Manager>
0013 #include <NetworkManagerQt/VpnConnection>
0014 #include <NetworkManagerQt/WirelessNetwork>
0015 
0016 class ConnectionIcon : public QObject
0017 {
0018     Q_PROPERTY(bool connecting READ connecting NOTIFY connectingChanged)
0019     Q_PROPERTY(QString connectionIcon READ connectionIcon NOTIFY connectionIconChanged)
0020     Q_PROPERTY(QString connectionTooltipIcon READ connectionTooltipIcon NOTIFY connectionTooltipIconChanged)
0021     Q_PROPERTY(bool needsPortal READ needsPortal NOTIFY needsPortalChanged)
0022 
0023     Q_OBJECT
0024 public:
0025     explicit ConnectionIcon(QObject *parent = nullptr);
0026     ~ConnectionIcon() override;
0027 
0028     bool connecting() const;
0029     QString connectionIcon() const;
0030     QString connectionTooltipIcon() const;
0031 
0032     bool needsPortal() const
0033     {
0034         return m_needsPortal;
0035     }
0036 
0037 private Q_SLOTS:
0038     void activatingConnectionChanged(const QString &connection);
0039     void activeConnectionAdded(const QString &activeConnection);
0040     void activeConnectionDestroyed();
0041     void activeConnectionStateChanged(NetworkManager::ActiveConnection::State state);
0042     void carrierChanged(bool carrier);
0043     void connectivityChanged(NetworkManager::Connectivity connectivity);
0044     void deviceAdded(const QString &device);
0045     void deviceRemoved(const QString &device);
0046     void networkingEnabledChanged(bool enabled);
0047     void primaryConnectionChanged(const QString &connection);
0048     void modemNetworkRemoved();
0049     void modemSignalChanged(ModemManager::SignalQualityPair signalQuality);
0050     void setIconForModem();
0051     void statusChanged(NetworkManager::Status status);
0052     void setWirelessIconForSignalStrength(int strength);
0053     void vpnConnectionStateChanged(NetworkManager::VpnConnection::State state, NetworkManager::VpnConnection::StateChangeReason reason);
0054     void wirelessEnabledChanged(bool enabled);
0055     void wirelessNetworkAppeared(const QString &network);
0056     void wwanEnabledChanged(bool enabled);
0057 Q_SIGNALS:
0058     void connectingChanged(bool connecting);
0059     void connectionIconChanged(const QString &icon);
0060     void connectionTooltipIconChanged(const QString &icon);
0061     void needsPortalChanged(bool needsPortal);
0062 
0063 private:
0064     void addActiveConnection(const QString &activeConnection);
0065     void setConnecting(bool connecting);
0066     void setConnectionIcon(const QString &icon);
0067     void setConnectionTooltipIcon(const QString &icon);
0068     void setVpn(bool vpn);
0069     void setLimited(bool limited);
0070     uint m_signal = 0;
0071     NetworkManager::WirelessNetwork::Ptr m_wirelessNetwork;
0072 
0073     bool m_connecting = false;
0074     bool m_limited = false;
0075     bool m_vpn = false;
0076     QString m_connectionIcon;
0077     QString m_connectionTooltipIcon;
0078     bool m_needsPortal = false;
0079 
0080     void setDisconnectedIcon();
0081     void setIcons();
0082     void setStates();
0083     void setWirelessIcon(const NetworkManager::Device::Ptr &device, const QString &ssid);
0084     ModemManager::Modem::Ptr m_modemNetwork;
0085     void setModemIcon(const NetworkManager::Device::Ptr &device);
0086 };
0087 
0088 #endif // PLASMA_NM_CONNECTION_ICON_H