File indexing completed on 2024-04-21 15:06:32

0001 /*
0002     SPDX-FileCopyrightText: 2008, 2011 Will Stephenson <wstephenson@kde.org>
0003     SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 
0008 #ifndef NETWORKMANAGERQT_WIRELESSDEVICE_P_H
0009 #define NETWORKMANAGERQT_WIRELESSDEVICE_P_H
0010 
0011 #include "dbus/wirelessdeviceinterface.h"
0012 #include "device_p.h"
0013 
0014 namespace NetworkManager
0015 {
0016 class WirelessDevicePrivate : public DevicePrivate
0017 {
0018     Q_OBJECT
0019 public:
0020     explicit WirelessDevicePrivate(const QString &path, WirelessDevice *q);
0021     OrgFreedesktopNetworkManagerDeviceWirelessInterface wirelessIface;
0022     QString permanentHardwareAddress;
0023     QString hardwareAddress;
0024     QHash<QString, WirelessNetwork::Ptr> networks;
0025     QMap<QString, AccessPoint::Ptr> apMap;
0026     // index of the active AP or -1 if none
0027     AccessPoint::Ptr activeAccessPoint;
0028     WirelessDevice::OperationMode mode;
0029     uint bitRate;
0030     WirelessDevice::Capabilities wirelessCapabilities;
0031     QDateTime lastScan;
0032     QDateTime lastRequestScan;
0033 
0034     Q_DECLARE_PUBLIC(WirelessDevice)
0035 protected:
0036     /**
0037      * When subclassing make sure to call the parent class method
0038      * if the property was not useful to your new class
0039      */
0040     void propertyChanged(const QString &property, const QVariant &value) override;
0041 
0042 protected Q_SLOTS:
0043     void accessPointAdded(const QDBusObjectPath &);
0044     void accessPointRemoved(const QDBusObjectPath &);
0045     void removeNetwork(const QString &network);
0046 };
0047 
0048 }
0049 
0050 #endif