/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright (C) 2016 Simon Stürz * * * * This file is part of loopd. * * * * Loopd can not be copied and/or distributed without the express * * permission of guh GmbH. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #ifndef WIRELESSNETWORKMANAGER_H #define WIRELESSNETWORKMANAGER_H #include #include #include #include #include #include #include #include "networkdevice.h" #include "wirelessaccesspoint.h" class WirelessNetworkDevice : public NetworkDevice { Q_OBJECT public: explicit WirelessNetworkDevice(const QDBusObjectPath &objectPath, QObject *parent = 0); // Properties QString macAddress() const; int bitRate() const; WirelessAccessPoint *activeAccessPoint(); // Accesspoints QList accessPoints(); WirelessAccessPoint *getAccessPoint(const QString &ssid); WirelessAccessPoint *getAccessPoint(const QDBusObjectPath &objectPath); // Methods void scanWirelessNetworks(); private: QDBusInterface *m_wirelessInterface; QString m_macAddress; int m_bitRate; WirelessAccessPoint *m_activeAccessPoint; QDBusObjectPath m_activeAccessPointObjectPath; QHash m_accessPointsTable; void readAccessPoints(); void setMacAddress(const QString &macAddress); void setBitrate(const int &bitRate); void setActiveAccessPoint(const QDBusObjectPath &activeAccessPointObjectPath); private slots: void accessPointAdded(const QDBusObjectPath &objectPath); void accessPointRemoved(const QDBusObjectPath &objectPath); void propertiesChanged(const QVariantMap &properties); signals: void bitRateChanged(const int &bitRate); }; QDebug operator<<(QDebug debug, WirelessNetworkDevice *device); #endif // WIRELESSNETWORKMANAGER_H