improve network manager api

This commit is contained in:
Simon Stürz 2016-10-05 18:53:31 +02:00 committed by Michael Zanetti
parent 27dcedba70
commit a3352f4787
10 changed files with 343 additions and 260 deletions

View File

@ -327,8 +327,8 @@ void GuhCore::executeRuleActions(const QList<RuleAction> ruleActions)
qCWarning(dcRuleEngine) << "Error executing action:" << status; qCWarning(dcRuleEngine) << "Error executing action:" << status;
} }
// if (status != DeviceManager::DeviceErrorAsync) // if (status != DeviceManager::DeviceErrorAsync)
// m_logger->logAction(action, status == DeviceManager::DeviceErrorNoError ? Logging::LoggingLevelInfo : Logging::LoggingLevelAlert, status); // m_logger->logAction(action, status == DeviceManager::DeviceErrorNoError ? Logging::LoggingLevelInfo : Logging::LoggingLevelAlert, status);
} }
} }
@ -461,11 +461,8 @@ GuhCore::GuhCore(QObject *parent) :
m_webServer = new WebServer(m_configuration->webServerAddress(), m_configuration->webServerPort(), m_configuration->webServerPublicFolder(), this); m_webServer = new WebServer(m_configuration->webServerAddress(), m_configuration->webServerPort(), m_configuration->webServerPublicFolder(), this);
m_serverManager->restServer()->registerWebserver(m_webServer); m_serverManager->restServer()->registerWebserver(m_webServer);
if (!NetworkManager::available()) { // Create the NetworkManager
m_networkManager = 0; m_networkManager = new NetworkManager(this);
} else {
m_networkManager = new NetworkManager(this);
}
// Connect the configuration changes // Connect the configuration changes
connect(m_configuration, &GuhConfiguration::cloudEnabledChanged, m_cloudManager, &CloudManager::onCloudEnabledChanged); connect(m_configuration, &GuhConfiguration::cloudEnabledChanged, m_cloudManager, &CloudManager::onCloudEnabledChanged);

View File

@ -81,7 +81,7 @@ namespace guhserver {
return s_##typeName; \ return s_##typeName; \
} \ } \
static QString typeName##ToString(className::enumName value) { \ static QString typeName##ToString(className::enumName value) { \
QMetaObject metaObject = className::staticMetaObject; \ const QMetaObject &metaObject = className::staticMetaObject; \
int enumIndex = metaObject.indexOfEnumerator(enumString); \ int enumIndex = metaObject.indexOfEnumerator(enumString); \
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); \ QMetaEnum metaEnum = metaObject.enumerator(enumIndex); \
return metaEnum.valueToKey(metaEnum.value(value)); \ return metaEnum.valueToKey(metaEnum.value(value)); \

View File

@ -85,6 +85,31 @@ NetworkManagerHandler::NetworkManagerHandler(QObject *parent) :
setParams("ConnectWifiNetwork", params); setParams("ConnectWifiNetwork", params);
returns.insert("networkManagerError", JsonTypes::networkManagerErrorRef()); returns.insert("networkManagerError", JsonTypes::networkManagerErrorRef());
setReturns("ConnectWifiNetwork", returns); setReturns("ConnectWifiNetwork", returns);
// Notifications
params.clear(); returns.clear();
setDescription("NetworkStatusChanged", "Emitted whenever a status of a NetworkManager changes.");
params.insert("status", status);
setParams("NetworkStatusChanged", params);
params.clear(); returns.clear();
setDescription("NetworkDeviceChanged", "Emitted whenever a NetworkDevice has changed.");
params.insert("networkDevice", JsonTypes::networkDeviceRef());
setParams("NetworkDeviceChanged", params);
params.clear(); returns.clear();
setDescription("NetworkDeviceAdded", "Emitted whenever a new NetworkDevice was added.");
params.insert("networkDevice", JsonTypes::networkDeviceRef());
setParams("NetworkDeviceAdded", params);
params.clear(); returns.clear();
setDescription("NetworkDeviceRemoved", "Emitted whenever a NetworkDevice was removed.");
params.insert("networkDevice", JsonTypes::networkDeviceRef());
setParams("NetworkDeviceRemoved", params);
connect(GuhCore::instance()->networkManager(), &NetworkManager::stateChanged, this, &NetworkManagerHandler::onNetworkManagerStatusChanged);
connect(GuhCore::instance()->networkManager(), &NetworkManager::networkingEnabledChanged, this, &NetworkManagerHandler::onNetworkManagerStatusChanged);
connect(GuhCore::instance()->networkManager(), &NetworkManager::wirelessEnabledChanged, this, &NetworkManagerHandler::onNetworkManagerStatusChanged);
} }
QString NetworkManagerHandler::name() const QString NetworkManagerHandler::name() const
@ -101,11 +126,8 @@ JsonReply *NetworkManagerHandler::GetNetworkStatus(const QVariantMap &params)
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable)); return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
// Pack network manager status // Pack network manager status
QVariantMap returns; QVariantMap status; QVariantMap returns;
status.insert("networkingEnabled", GuhCore::instance()->networkManager()->networkingEnabled()); returns.insert("status", packNetworkManagerStatus());
status.insert("wirelessNetworkingEnabled", GuhCore::instance()->networkManager()->wirelessEnabled());
status.insert("state", JsonTypes::networkManagerStateToString(GuhCore::instance()->networkManager()->state()));
returns.insert("status", status);
return createReply(returns); return createReply(returns);
} }
@ -127,9 +149,10 @@ JsonReply *NetworkManagerHandler::EnableWirelessNetworking(const QVariantMap &pa
if (!GuhCore::instance()->networkManager()->available()) if (!GuhCore::instance()->networkManager()->available())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable)); return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
bool enable = params.value("enable").toBool(); if (!GuhCore::instance()->networkManager()->wifiAvailable())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorWirelessNotAvailable));
if (!GuhCore::instance()->networkManager()->enableWireless(enable)) if (!GuhCore::instance()->networkManager()->enableWireless(params.value("enable").toBool()))
return createReply(statusToReply(NetworkManager::NetworkManagerErrorUnknownError)); return createReply(statusToReply(NetworkManager::NetworkManagerErrorUnknownError));
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNoError)); return createReply(statusToReply(NetworkManager::NetworkManagerErrorNoError));
@ -139,11 +162,13 @@ JsonReply *NetworkManagerHandler::GetWirelessAccessPoints(const QVariantMap &par
{ {
Q_UNUSED(params); Q_UNUSED(params);
if (!GuhCore::instance()->networkManager()->available())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
if (!GuhCore::instance()->networkManager()->wifiAvailable())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorWirelessNotAvailable));
QVariantList wirelessAccessPoints; QVariantList wirelessAccessPoints;
// TODO: check available
// TODO: returns (networkManager error)
foreach (WirelessAccessPoint *wirelessAccessPoint, GuhCore::instance()->networkManager()->wirelessNetworkManager()->accessPoints()) foreach (WirelessAccessPoint *wirelessAccessPoint, GuhCore::instance()->networkManager()->wirelessNetworkManager()->accessPoints())
wirelessAccessPoints.append(JsonTypes::packWirelessAccessPoint(wirelessAccessPoint)); wirelessAccessPoints.append(JsonTypes::packWirelessAccessPoint(wirelessAccessPoint));
@ -156,11 +181,10 @@ JsonReply *NetworkManagerHandler::GetNetworkDevices(const QVariantMap &params)
{ {
Q_UNUSED(params); Q_UNUSED(params);
if (!GuhCore::instance()->networkManager()->available())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
QVariantList networkDevices; QVariantList networkDevices;
// TODO: check available
// TODO: returns (networkManager error)
foreach (NetworkDevice *networkDevice, GuhCore::instance()->networkManager()->networkDevices()) foreach (NetworkDevice *networkDevice, GuhCore::instance()->networkManager()->networkDevices())
networkDevices.append(JsonTypes::packNetworkDevice(networkDevice)); networkDevices.append(JsonTypes::packNetworkDevice(networkDevice));
@ -173,27 +197,58 @@ JsonReply *NetworkManagerHandler::ScanWifiNetworks(const QVariantMap &params)
{ {
Q_UNUSED(params); Q_UNUSED(params);
// TODO: check available if (!GuhCore::instance()->networkManager()->available())
// TODO: returns (networkManager error) return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
if (!GuhCore::instance()->networkManager()->wifiAvailable())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorWirelessNotAvailable));
GuhCore::instance()->networkManager()->wirelessNetworkManager()->scanWirelessNetworks(); GuhCore::instance()->networkManager()->wirelessNetworkManager()->scanWirelessNetworks();
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNoError));
QVariantMap returns;
return createReply(returns);
} }
JsonReply *NetworkManagerHandler::ConnectWifiNetwork(const QVariantMap &params) JsonReply *NetworkManagerHandler::ConnectWifiNetwork(const QVariantMap &params)
{ {
if (!GuhCore::instance()->networkManager()->available())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorNetworkManagerNotAvailable));
if (!GuhCore::instance()->networkManager()->wifiAvailable())
return createReply(statusToReply(NetworkManager::NetworkManagerErrorWirelessNotAvailable));
QString ssid = params.value("ssid").toString(); QString ssid = params.value("ssid").toString();
QString password = params.value("password").toString(); QString password = params.value("password").toString();
NetworkManager::NetworkManagerError error = GuhCore::instance()->networkManager()->connectWifi(ssid, password);
// TODO: check available return createReply(statusToReply(error));
// TODO: returns (networkManager error) }
GuhCore::instance()->networkManager()->connectWifi(ssid, password); QVariantMap NetworkManagerHandler::packNetworkManagerStatus()
{
QVariantMap status;
status.insert("networkingEnabled", GuhCore::instance()->networkManager()->networkingEnabled());
status.insert("wirelessNetworkingEnabled", GuhCore::instance()->networkManager()->wirelessEnabled());
status.insert("state", GuhCore::instance()->networkManager()->stateString());
return status;
}
QVariantMap returns; void NetworkManagerHandler::onNetworkManagerStatusChanged()
return createReply(returns); {
emit NetworkStatusChanged(packNetworkManagerStatus());
}
void NetworkManagerHandler::onNetworkDeviceChanged(NetworkDevice *networkDevice)
{
Q_UNUSED(networkDevice)
}
void NetworkManagerHandler::onNetworkDeviceAdded(NetworkDevice *networkDevice)
{
Q_UNUSED(networkDevice)
}
void NetworkManagerHandler::onNetworkDeviceRemoved(NetworkDevice *networkDevice)
{
Q_UNUSED(networkDevice)
} }
} }

View File

@ -43,10 +43,20 @@ public:
Q_INVOKABLE JsonReply *ScanWifiNetworks(const QVariantMap &params); Q_INVOKABLE JsonReply *ScanWifiNetworks(const QVariantMap &params);
Q_INVOKABLE JsonReply *ConnectWifiNetwork(const QVariantMap &params); Q_INVOKABLE JsonReply *ConnectWifiNetwork(const QVariantMap &params);
private:
QVariantMap packNetworkManagerStatus();
signals: signals:
void NetworkStatusChanged(const QVariantMap &params);
void NetworkDeviceChanged(const QVariantMap &params);
void NetworkDeviceAdded(const QVariantMap &params);
void NetworkDeviceRemoved(const QVariantMap &params);
public slots: private slots:
void onNetworkManagerStatusChanged();
void onNetworkDeviceChanged(NetworkDevice *networkDevice);
void onNetworkDeviceAdded(NetworkDevice *networkDevice);
void onNetworkDeviceRemoved(NetworkDevice *networkDevice);
}; };
} }

View File

@ -30,8 +30,8 @@ NetworkDevice::NetworkDevice(const QDBusObjectPath &objectPath, QObject *parent)
m_objectPath(objectPath), m_objectPath(objectPath),
m_mtu(0), m_mtu(0),
m_metered(0), m_metered(0),
m_deviceState(DeviceStateUnknown), m_deviceState(NetworkDeviceStateUnknown),
m_deviceStateReason(DeviceStateReasonUnknown) m_deviceStateReason(NetworkDeviceStateReasonUnknown)
{ {
QDBusConnection systemBus = QDBusConnection::systemBus(); QDBusConnection systemBus = QDBusConnection::systemBus();
if (!systemBus.isConnected()) { if (!systemBus.isConnected()) {
@ -55,7 +55,7 @@ NetworkDevice::NetworkDevice(const QDBusObjectPath &objectPath, QObject *parent)
m_mtu = networkDeviceInterface.property("Mtu").toUInt(); m_mtu = networkDeviceInterface.property("Mtu").toUInt();
m_metered = networkDeviceInterface.property("Metered").toUInt(); m_metered = networkDeviceInterface.property("Metered").toUInt();
m_deviceState = DeviceState(networkDeviceInterface.property("State").toUInt()); m_deviceState = NetworkDeviceState(networkDeviceInterface.property("State").toUInt());
m_deviceType = DeviceType(networkDeviceInterface.property("DeviceType").toUInt()); m_deviceType = DeviceType(networkDeviceInterface.property("DeviceType").toUInt());
m_activeConnection = qdbus_cast<QDBusObjectPath>(networkDeviceInterface.property("ActiveConnection")); m_activeConnection = qdbus_cast<QDBusObjectPath>(networkDeviceInterface.property("ActiveConnection"));
@ -114,12 +114,17 @@ uint NetworkDevice::metered() const
return m_metered; return m_metered;
} }
NetworkDevice::DeviceState NetworkDevice::deviceState() const NetworkDevice::NetworkDeviceState NetworkDevice::deviceState() const
{ {
return m_deviceState; return m_deviceState;
} }
NetworkDevice::DeviceStateReason NetworkDevice::deviceStateReason() const QString NetworkDevice::deviceStateString() const
{
return NetworkDevice::deviceStateToString(m_deviceState);
}
NetworkDevice::NetworkDeviceStateReason NetworkDevice::deviceStateReason() const
{ {
return m_deviceStateReason; return m_deviceStateReason;
} }
@ -152,27 +157,27 @@ QString NetworkDevice::deviceTypeToString(const NetworkDevice::DeviceType &devic
return QString(metaEnum.valueToKey(deviceType)).remove("DeviceType"); return QString(metaEnum.valueToKey(deviceType)).remove("DeviceType");
} }
QString NetworkDevice::deviceStateToString(const NetworkDevice::DeviceState &deviceState) QString NetworkDevice::deviceStateToString(const NetworkDevice::NetworkDeviceState &deviceState)
{ {
QMetaObject metaObject = NetworkDevice::staticMetaObject; QMetaObject metaObject = NetworkDevice::staticMetaObject;
int enumIndex = metaObject.indexOfEnumerator(QString("DeviceState").toLatin1().data()); int enumIndex = metaObject.indexOfEnumerator(QString("NetworkDeviceState").toLatin1().data());
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
return QString(metaEnum.valueToKey(deviceState)).remove("DeviceState"); return QString(metaEnum.valueToKey(deviceState));
} }
QString NetworkDevice::deviceStateReasonToString(const NetworkDevice::DeviceStateReason &deviceStateReason) QString NetworkDevice::deviceStateReasonToString(const NetworkDevice::NetworkDeviceStateReason &deviceStateReason)
{ {
QMetaObject metaObject = NetworkDevice::staticMetaObject; QMetaObject metaObject = NetworkDevice::staticMetaObject;
int enumIndex = metaObject.indexOfEnumerator(QString("DeviceStateReason").toLatin1().data()); int enumIndex = metaObject.indexOfEnumerator(QString("NetworkDeviceStateReason").toLatin1().data());
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
return QString(metaEnum.valueToKey(deviceStateReason)).remove("DeviceStateReason"); return QString(metaEnum.valueToKey(deviceStateReason));
} }
void NetworkDevice::onStateChanged(uint newState, uint oldState, uint reason) void NetworkDevice::onStateChanged(uint newState, uint oldState, uint reason)
{ {
qCDebug(dcNetworkManager()) << m_interface << deviceStateToString(DeviceState(oldState)) << "-->" << deviceStateToString(DeviceState(newState)) << ":" << deviceStateReasonToString(DeviceStateReason(reason)); qCDebug(dcNetworkManager()) << m_interface << deviceStateToString(NetworkDeviceState(oldState)) << "-->" << deviceStateToString(NetworkDeviceState(newState)) << ":" << deviceStateReasonToString(NetworkDeviceStateReason(reason));
m_deviceState = DeviceState(newState); m_deviceState = NetworkDeviceState(newState);
emit deviceStateChanged(); emit deviceStateChanged();
} }

View File

@ -36,90 +36,90 @@ class NetworkDevice : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_ENUMS(DeviceType) Q_ENUMS(DeviceType)
Q_ENUMS(DeviceState) Q_ENUMS(NetworkDeviceState)
Q_ENUMS(DeviceStateReason) Q_ENUMS(NetworkDeviceStateReason)
public: public:
enum DeviceState { enum NetworkDeviceState {
DeviceStateUnknown = 0, NetworkDeviceStateUnknown = 0,
DeviceStateUnmanaged = 10, NetworkDeviceStateUnmanaged = 10,
DeviceStateUnavailable = 20, NetworkDeviceStateUnavailable = 20,
DeviceStateDisconnected = 30, NetworkDeviceStateDisconnected = 30,
DeviceStatePrepare = 40, NetworkDeviceStatePrepare = 40,
DeviceStateConfig = 50, NetworkDeviceStateConfig = 50,
DeviceStateNeedAuth = 60, NetworkDeviceStateNeedAuth = 60,
DeviceStateIpConfig = 70, NetworkDeviceStateIpConfig = 70,
DeviceStateIpCheck = 80, NetworkDeviceStateIpCheck = 80,
DeviceStateSecondaries = 90, NetworkDeviceStateSecondaries = 90,
DeviceStateActivated = 100, NetworkDeviceStateActivated = 100,
DeviceStateDeactivating = 110, NetworkDeviceStateDeactivating = 110,
DeviceStateFailed = 120 NetworkDeviceStateFailed = 120
}; };
enum DeviceStateReason { enum NetworkDeviceStateReason {
DeviceStateReasonNone = 0, NetworkDeviceStateReasonNone = 0,
DeviceStateReasonUnknown = 1, NetworkDeviceStateReasonUnknown = 1,
DeviceStateReasonNowManaged = 2, NetworkDeviceStateReasonNowManaged = 2,
DeviceStateReasonNowUnmanaged = 3, NetworkDeviceStateReasonNowUnmanaged = 3,
DeviceStateReasonConfigFailed = 4, NetworkDeviceStateReasonConfigFailed = 4,
DeviceStateReasonIpConfigUnavailable = 5, NetworkDeviceStateReasonIpConfigUnavailable = 5,
DeviceStateReasonIpConfigExpired = 6, NetworkDeviceStateReasonIpConfigExpired = 6,
DeviceStateReasonNoSecrets = 7, NetworkDeviceStateReasonNoSecrets = 7,
DeviceStateReasonSupplicantDisconnected = 8, NetworkDeviceStateReasonSupplicantDisconnected = 8,
DeviceStateReasonSupplicantConfigFailed = 9, NetworkDeviceStateReasonSupplicantConfigFailed = 9,
DeviceStateReasonSupplicantFailed = 10, NetworkDeviceStateReasonSupplicantFailed = 10,
DeviceStateReasonSupplicantTimeout = 11, NetworkDeviceStateReasonSupplicantTimeout = 11,
DeviceStateReasonPppStartFailed = 12, NetworkDeviceStateReasonPppStartFailed = 12,
DeviceStateReasonPppDisconnected = 13, NetworkDeviceStateReasonPppDisconnected = 13,
DeviceStateReasonPppFailed = 14, NetworkDeviceStateReasonPppFailed = 14,
DeviceStateReasonDhcpStartFailed = 15, NetworkDeviceStateReasonDhcpStartFailed = 15,
DeviceStateReasonDhcpError = 16, NetworkDeviceStateReasonDhcpError = 16,
DeviceStateReasonDhcpFailed = 17, NetworkDeviceStateReasonDhcpFailed = 17,
DeviceStateReasonSharedStartFailed = 18, NetworkDeviceStateReasonSharedStartFailed = 18,
DeviceStateReasonSharedFailed = 19, NetworkDeviceStateReasonSharedFailed = 19,
DeviceStateReasonAutoIpStartFailed = 20, NetworkDeviceStateReasonAutoIpStartFailed = 20,
DeviceStateReasonAutoIpError = 21, NetworkDeviceStateReasonAutoIpError = 21,
DeviceStateReasonAutoIpFailed = 22, NetworkDeviceStateReasonAutoIpFailed = 22,
DeviceStateReasonModemBusy = 23, NetworkDeviceStateReasonModemBusy = 23,
DeviceStateReasonModemNoDialTone = 24, NetworkDeviceStateReasonModemNoDialTone = 24,
DeviceStateReasonModemNoCarrier = 25, NetworkDeviceStateReasonModemNoCarrier = 25,
DeviceStateReasonModemDialTimeout = 26, NetworkDeviceStateReasonModemDialTimeout = 26,
DeviceStateReasonModemDialFailed = 27, NetworkDeviceStateReasonModemDialFailed = 27,
DeviceStateReasonModemInitFailed = 28, NetworkDeviceStateReasonModemInitFailed = 28,
DeviceStateReasonGsmApnFailed = 29, NetworkDeviceStateReasonGsmApnFailed = 29,
DeviceStateReasonGsmRegistrationNotSearching = 30, NetworkDeviceStateReasonGsmRegistrationNotSearching = 30,
DeviceStateReasonGsmRegistrationDenied = 31, NetworkDeviceStateReasonGsmRegistrationDenied = 31,
DeviceStateReasonGsmRegistrationTimeout = 32, NetworkDeviceStateReasonGsmRegistrationTimeout = 32,
DeviceStateReasonGsmRegistrationFailed = 33, NetworkDeviceStateReasonGsmRegistrationFailed = 33,
DeviceStateReasonGsmPinCheckFailed = 34, NetworkDeviceStateReasonGsmPinCheckFailed = 34,
DeviceStateReasonFirmwareMissing = 35, NetworkDeviceStateReasonFirmwareMissing = 35,
DeviceStateReasonRemoved = 36, NetworkDeviceStateReasonRemoved = 36,
DeviceStateReasonSleeping = 37, NetworkDeviceStateReasonSleeping = 37,
DeviceStateReasonConnectionRemoved = 38, NetworkDeviceStateReasonConnectionRemoved = 38,
DeviceStateReasonUserRequest = 39, NetworkDeviceStateReasonUserRequest = 39,
DeviceStateReasonCarrier = 40, NetworkDeviceStateReasonCarrier = 40,
DeviceStateReasonConnectionAssumed = 41, NetworkDeviceStateReasonConnectionAssumed = 41,
DeviceStateReasonSupplicantAvailable = 42, NetworkDeviceStateReasonSupplicantAvailable = 42,
DeviceStateReasonModemNotFound = 43, NetworkDeviceStateReasonModemNotFound = 43,
DeviceStateReasonBtFailed = 44, NetworkDeviceStateReasonBtFailed = 44,
DeviceStateReasonGsmSimNotInserted = 45, NetworkDeviceStateReasonGsmSimNotInserted = 45,
DeviceStateReasonGsmSimPinRequired = 46, NetworkDeviceStateReasonGsmSimPinRequired = 46,
DeviceStateReasonGsmSimPukRequired = 47, NetworkDeviceStateReasonGsmSimPukRequired = 47,
DeviceStateReasonGsmSimWrong = 48, NetworkDeviceStateReasonGsmSimWrong = 48,
DeviceStateReasonInfinibandMode = 49, NetworkDeviceStateReasonInfinibandMode = 49,
DeviceStateReasonDependencyFailed = 50, NetworkDeviceStateReasonDependencyFailed = 50,
DeviceStateReasonBR2684Failed = 51, NetworkDeviceStateReasonBR2684Failed = 51,
DeviceStateReasonModemManagerUnavailable = 52, NetworkDeviceStateReasonModemManagerUnavailable = 52,
DeviceStateReasonSsidNotFound = 53, NetworkDeviceStateReasonSsidNotFound = 53,
DeviceStateReasonSecondaryConnectionFailed = 54, NetworkDeviceStateReasonSecondaryConnectionFailed = 54,
DeviceStateReasonDcbFoecFailed = 55, NetworkDeviceStateReasonDcbFoecFailed = 55,
DeviceStateReasonTeamdControlFailed = 56, NetworkDeviceStateReasonTeamdControlFailed = 56,
DeviceStateReasonModemFailed = 57, NetworkDeviceStateReasonModemFailed = 57,
DeviceStateReasonModemAvailable = 58, NetworkDeviceStateReasonModemAvailable = 58,
DeviceStateReasonSimPinIncorrect = 59, NetworkDeviceStateReasonSimPinIncorrect = 59,
DeviceStateReasonNewActivision = 60, NetworkDeviceStateReasonNewActivision = 60,
DeviceStateReasonParentChanged = 61, NetworkDeviceStateReasonParentChanged = 61,
DeviceStateReasonParentManagedChanged = 62 NetworkDeviceStateReasonParentManagedChanged = 62
}; };
enum DeviceType { enum DeviceType {
@ -157,8 +157,10 @@ public:
QString physicalPortId() const; QString physicalPortId() const;
uint mtu() const; uint mtu() const;
uint metered() const; uint metered() const;
DeviceState deviceState() const;
DeviceStateReason deviceStateReason() const; NetworkDeviceState deviceState() const;
QString deviceStateString() const;
NetworkDeviceStateReason deviceStateReason() const;
DeviceType deviceType() const; DeviceType deviceType() const;
QDBusObjectPath activeConnection() const; QDBusObjectPath activeConnection() const;
@ -166,9 +168,8 @@ public:
QList<QDBusObjectPath> availableConnections() const; QList<QDBusObjectPath> availableConnections() const;
static QString deviceTypeToString(const DeviceType &deviceType); static QString deviceTypeToString(const DeviceType &deviceType);
static QString deviceStateToString(const DeviceState &deviceState); static QString deviceStateToString(const NetworkDeviceState &deviceState);
static QString deviceStateReasonToString(const DeviceStateReason &deviceStateReason); static QString deviceStateReasonToString(const NetworkDeviceStateReason &deviceStateReason);
private: private:
QDBusObjectPath m_objectPath; QDBusObjectPath m_objectPath;
@ -182,8 +183,8 @@ private:
QString m_physicalPortId; QString m_physicalPortId;
uint m_mtu; uint m_mtu;
uint m_metered; uint m_metered;
DeviceState m_deviceState; NetworkDeviceState m_deviceState;
DeviceStateReason m_deviceStateReason; NetworkDeviceStateReason m_deviceStateReason;
DeviceType m_deviceType; DeviceType m_deviceType;
QDBusObjectPath m_activeConnection; QDBusObjectPath m_activeConnection;

View File

@ -31,18 +31,28 @@ NetworkManager::NetworkManager(QObject *parent) :
QObject(parent), QObject(parent),
m_networkManagerInterface(0), m_networkManagerInterface(0),
m_wirelessNetworkManager(0), m_wirelessNetworkManager(0),
m_available(false),
m_wifiAvailable(false),
m_state(NetworkManagerStateUnknown), m_state(NetworkManagerStateUnknown),
m_connectivityState(NetworkManagerConnectivityStateUnknown), m_connectivityState(NetworkManagerConnectivityStateUnknown),
m_networkingEnabled(false), m_networkingEnabled(false),
m_wirelessEnabled(false) m_wirelessEnabled(false)
{ {
// Check DBus connection
if (!QDBusConnection::systemBus().isConnected()) {
qCWarning(dcNetworkManager()) << "System DBus not connected. NetworkManagre not available.";
return;
}
// Create interface // Create interface
m_networkManagerInterface = new QDBusInterface(serviceString, pathString, serviceString, QDBusConnection::systemBus(), this); m_networkManagerInterface = new QDBusInterface(serviceString, pathString, serviceString, QDBusConnection::systemBus(), this);
if(!m_networkManagerInterface->isValid()) { if(!m_networkManagerInterface->isValid()) {
qCWarning(dcNetworkManager()) << "Invalid DBus network manager interface"; qCWarning(dcNetworkManager()) << "Invalid DBus network manager interface. NetworkManagre not available.";
return; return;
} }
m_available = true;
// Read properties // Read properties
setVersion(m_networkManagerInterface->property("Version").toString()); setVersion(m_networkManagerInterface->property("Version").toString());
setState((NetworkManagerState)m_networkManagerInterface->property("State").toUInt()); setState((NetworkManagerState)m_networkManagerInterface->property("State").toUInt());
@ -65,19 +75,12 @@ NetworkManager::NetworkManager(QObject *parent) :
bool NetworkManager::available() bool NetworkManager::available()
{ {
QDBusConnection systemBus = QDBusConnection::systemBus(); return m_available;
if (!systemBus.isConnected()) { }
qCWarning(dcNetworkManager()) << "System DBus not connected";
return false;
}
QDBusInterface networkInterface(serviceString, pathString, serviceString, QDBusConnection::systemBus()); bool NetworkManager::wifiAvailable()
if(!networkInterface.isValid()) { {
qCWarning(dcNetworkManager()) << "Invalid DBus network manager interface"; return m_wifiAvailable;
return false;
}
return true;
} }
QList<NetworkDevice *> NetworkManager::networkDevices() const QList<NetworkDevice *> NetworkManager::networkDevices() const
@ -100,6 +103,11 @@ NetworkManager::NetworkManagerState NetworkManager::state() const
return m_state; return m_state;
} }
QString NetworkManager::stateString() const
{
return networkManagerStateToString(m_state);
}
NetworkManager::NetworkManagerConnectivityState NetworkManager::connectivityState() const NetworkManager::NetworkManagerConnectivityState NetworkManager::connectivityState() const
{ {
return m_connectivityState; return m_connectivityState;
@ -197,7 +205,7 @@ bool NetworkManager::enableWireless(const bool &enabled)
if (m_wirelessEnabled == enabled) if (m_wirelessEnabled == enabled)
return true; return true;
return m_networkManagerInterface->setProperty("WirelessEnabled", true); return m_networkManagerInterface->setProperty("WirelessEnabled", enabled);
} }
void NetworkManager::loadDevices() void NetworkManager::loadDevices()
@ -226,7 +234,7 @@ QString NetworkManager::networkManagerStateToString(const NetworkManager::Networ
QMetaObject metaObject = NetworkManager::staticMetaObject; QMetaObject metaObject = NetworkManager::staticMetaObject;
int enumIndex = metaObject.indexOfEnumerator(QString("NetworkManagerState").toLatin1().data()); int enumIndex = metaObject.indexOfEnumerator(QString("NetworkManagerState").toLatin1().data());
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
return QString(metaEnum.valueToKey(state)).remove("NetworkManagerState"); return QString(metaEnum.valueToKey(state));
} }
QString NetworkManager::networkManagerConnectivityStateToString(const NetworkManager::NetworkManagerConnectivityState &state) QString NetworkManager::networkManagerConnectivityStateToString(const NetworkManager::NetworkManagerConnectivityState &state)
@ -274,8 +282,10 @@ void NetworkManager::onDeviceAdded(const QDBusObjectPath &deviceObjectPath)
NetworkDevice *networkDevice = new NetworkDevice(deviceObjectPath, this); NetworkDevice *networkDevice = new NetworkDevice(deviceObjectPath, this);
qCDebug(dcNetworkManager()) << "[+]" << networkDevice; qCDebug(dcNetworkManager()) << "[+]" << networkDevice;
if (!m_wirelessNetworkManager && networkDevice->deviceType() == NetworkDevice::DeviceTypeWifi) if (!m_wirelessNetworkManager && networkDevice->deviceType() == NetworkDevice::DeviceTypeWifi) {
m_wifiAvailable = true;
m_wirelessNetworkManager = new WirelessNetworkManager(networkDevice->objectPath(), this); m_wirelessNetworkManager = new WirelessNetworkManager(networkDevice->objectPath(), this);
}
m_networkDevices.insert(deviceObjectPath, networkDevice); m_networkDevices.insert(deviceObjectPath, networkDevice);
} }

View File

@ -77,7 +77,8 @@ public:
explicit NetworkManager(QObject *parent = 0); explicit NetworkManager(QObject *parent = 0);
static bool available(); bool available();
bool wifiAvailable();
QList<NetworkDevice *> networkDevices() const; QList<NetworkDevice *> networkDevices() const;
WirelessNetworkManager *wirelessNetworkManager() const; WirelessNetworkManager *wirelessNetworkManager() const;
@ -85,6 +86,7 @@ public:
// Properties // Properties
QString version() const; QString version() const;
NetworkManagerState state() const; NetworkManagerState state() const;
QString stateString() const;
NetworkManagerConnectivityState connectivityState() const; NetworkManagerConnectivityState connectivityState() const;
NetworkManagerError connectWifi(const QString &ssid, const QString &password); NetworkManagerError connectWifi(const QString &ssid, const QString &password);
@ -104,6 +106,9 @@ private:
NetworkSettings *m_networkSettings; NetworkSettings *m_networkSettings;
WirelessNetworkManager *m_wirelessNetworkManager; WirelessNetworkManager *m_wirelessNetworkManager;
bool m_available;
bool m_wifiAvailable;
QString m_version; QString m_version;
NetworkManagerState m_state; NetworkManagerState m_state;

View File

@ -33,8 +33,8 @@ WirelessNetworkManager::WirelessNetworkManager(const QDBusObjectPath &objectPath
m_objectPath(objectPath), m_objectPath(objectPath),
m_connected(false), m_connected(false),
m_managed(false), m_managed(false),
m_state(DeviceStateUnknown), m_state(NetworkDeviceStateUnknown),
m_stateReason(DeviceStateReasonUnknown) m_stateReason(NetworkDeviceStateReasonUnknown)
{ {
QDBusConnection systemBus = QDBusConnection::systemBus(); QDBusConnection systemBus = QDBusConnection::systemBus();
if (!systemBus.isConnected()) { if (!systemBus.isConnected()) {
@ -93,12 +93,12 @@ bool WirelessNetworkManager::managed() const
return m_managed; return m_managed;
} }
WirelessNetworkManager::DeviceState WirelessNetworkManager::state() const WirelessNetworkManager::NetworkDeviceState WirelessNetworkManager::state() const
{ {
return m_state; return m_state;
} }
WirelessNetworkManager::DeviceStateReason WirelessNetworkManager::stateReason() const WirelessNetworkManager::NetworkDeviceStateReason WirelessNetworkManager::stateReason() const
{ {
return m_stateReason; return m_stateReason;
} }
@ -144,20 +144,20 @@ WirelessAccessPoint *WirelessNetworkManager::getAccessPoint(const QDBusObjectPat
return m_accessPointsTable.value(objectPath); return m_accessPointsTable.value(objectPath);
} }
QString WirelessNetworkManager::deviceStateToString(const WirelessNetworkManager::DeviceState &state) QString WirelessNetworkManager::deviceStateToString(const WirelessNetworkManager::NetworkDeviceState &state)
{ {
QMetaObject metaObject = WirelessNetworkManager::staticMetaObject; QMetaObject metaObject = WirelessNetworkManager::staticMetaObject;
int enumIndex = metaObject.indexOfEnumerator(QString("DeviceState").toLatin1().data()); int enumIndex = metaObject.indexOfEnumerator(QString("NetworkDeviceState").toLatin1().data());
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
return QString(metaEnum.valueToKey(state)).remove("DeviceState"); return QString(metaEnum.valueToKey(state)).remove("NetworkDeviceState");
} }
QString WirelessNetworkManager::deviceStateReasonToString(const WirelessNetworkManager::DeviceStateReason &stateReason) QString WirelessNetworkManager::deviceStateReasonToString(const WirelessNetworkManager::NetworkDeviceStateReason &stateReason)
{ {
QMetaObject metaObject = WirelessNetworkManager::staticMetaObject; QMetaObject metaObject = WirelessNetworkManager::staticMetaObject;
int enumIndex = metaObject.indexOfEnumerator(QString("DeviceStateReason").toLatin1().data()); int enumIndex = metaObject.indexOfEnumerator(QString("NetworkDeviceStateReason").toLatin1().data());
QMetaEnum metaEnum = metaObject.enumerator(enumIndex); QMetaEnum metaEnum = metaObject.enumerator(enumIndex);
return QString(metaEnum.valueToKey(stateReason)).remove("DeviceStateReason"); return QString(metaEnum.valueToKey(stateReason)).remove("NetworkDeviceStateReason");
} }
void WirelessNetworkManager::readAccessPoints() void WirelessNetworkManager::readAccessPoints()
@ -207,7 +207,7 @@ void WirelessNetworkManager::readWirelessDeviceProperties()
m_driverVersion = driverInterface.property("DriverVersion").toString(); m_driverVersion = driverInterface.property("DriverVersion").toString();
setManaged(driverInterface.property("Managed").toBool()); setManaged(driverInterface.property("Managed").toBool());
setState(DeviceState(driverInterface.property("State").toUInt())); setState(NetworkDeviceState(driverInterface.property("State").toUInt()));
} }
void WirelessNetworkManager::setConnected(const bool &connected) void WirelessNetworkManager::setConnected(const bool &connected)
@ -218,13 +218,13 @@ void WirelessNetworkManager::setConnected(const bool &connected)
} }
} }
void WirelessNetworkManager::setState(const DeviceState &state) void WirelessNetworkManager::setState(const NetworkDeviceState &state)
{ {
m_state = state; m_state = state;
emit stateChanged(m_state); emit stateChanged(m_state);
switch (state) { switch (state) {
case DeviceStateActivated: case NetworkDeviceStateActivated:
setConnected(true); setConnected(true);
break; break;
default: default:
@ -233,7 +233,7 @@ void WirelessNetworkManager::setState(const DeviceState &state)
} }
} }
void WirelessNetworkManager::setStateReason(const WirelessNetworkManager::DeviceStateReason &stateReason) void WirelessNetworkManager::setStateReason(const WirelessNetworkManager::NetworkDeviceStateReason &stateReason)
{ {
m_stateReason = stateReason; m_stateReason = stateReason;
} }
@ -246,10 +246,10 @@ void WirelessNetworkManager::setManaged(const bool &managed)
void WirelessNetworkManager::deviceStateChanged(uint newState, uint oldState, uint reason) void WirelessNetworkManager::deviceStateChanged(uint newState, uint oldState, uint reason)
{ {
qCDebug(dcNetworkManager()) << "WirelessManager: state changed" << deviceStateToString(DeviceState(oldState)) << "-->" << deviceStateToString(DeviceState(newState)) << ":" << deviceStateReasonToString(DeviceStateReason(reason)); qCDebug(dcNetworkManager()) << "WirelessManager: state changed" << deviceStateToString(NetworkDeviceState(oldState)) << "-->" << deviceStateToString(NetworkDeviceState(newState)) << ":" << deviceStateReasonToString(NetworkDeviceStateReason(reason));
setState(DeviceState(newState)); setState(NetworkDeviceState(newState));
setStateReason(DeviceStateReason(reason)); setStateReason(NetworkDeviceStateReason(reason));
} }
void WirelessNetworkManager::accessPointAdded(const QDBusObjectPath &objectPath) void WirelessNetworkManager::accessPointAdded(const QDBusObjectPath &objectPath)

View File

@ -36,90 +36,90 @@ namespace guhserver {
class WirelessNetworkManager : public QObject class WirelessNetworkManager : public QObject
{ {
Q_OBJECT Q_OBJECT
Q_ENUMS(DeviceState) Q_ENUMS(NetworkDeviceState)
Q_ENUMS(DeviceStateReason) Q_ENUMS(NetworkDeviceStateReason)
public: public:
enum DeviceState { enum NetworkDeviceState {
DeviceStateUnknown = 0, NetworkDeviceStateUnknown = 0,
DeviceStateUnmanaged = 10, NetworkDeviceStateUnmanaged = 10,
DeviceStateUnavailable = 20, NetworkDeviceStateUnavailable = 20,
DeviceStateDisconnected = 30, NetworkDeviceStateDisconnected = 30,
DeviceStatePrepare = 40, NetworkDeviceStatePrepare = 40,
DeviceStateConfig = 50, NetworkDeviceStateConfig = 50,
DeviceStateNeedAuth = 60, NetworkDeviceStateNeedAuth = 60,
DeviceStateIpConfig = 70, NetworkDeviceStateIpConfig = 70,
DeviceStateIpCheck = 80, NetworkDeviceStateIpCheck = 80,
DeviceStateSecondaries = 90, NetworkDeviceStateSecondaries = 90,
DeviceStateActivated = 100, NetworkDeviceStateActivated = 100,
DeviceStateDeactivating = 110, NetworkDeviceStateDeactivating = 110,
DeviceStateFailed = 120 NetworkDeviceStateFailed = 120
}; };
enum DeviceStateReason { enum NetworkDeviceStateReason {
DeviceStateReasonNone = 0, NetworkDeviceStateReasonNone = 0,
DeviceStateReasonUnknown = 1, NetworkDeviceStateReasonUnknown = 1,
DeviceStateReasonNowManaged = 2, NetworkDeviceStateReasonNowManaged = 2,
DeviceStateReasonNowUnmanaged = 3, NetworkDeviceStateReasonNowUnmanaged = 3,
DeviceStateReasonConfigFailed = 4, NetworkDeviceStateReasonConfigFailed = 4,
DeviceStateReasonIpConfigUnavailable = 5, NetworkDeviceStateReasonIpConfigUnavailable = 5,
DeviceStateReasonIpConfigExpired = 6, NetworkDeviceStateReasonIpConfigExpired = 6,
DeviceStateReasonNoSecrets = 7, NetworkDeviceStateReasonNoSecrets = 7,
DeviceStateReasonSupplicantDisconnected = 8, NetworkDeviceStateReasonSupplicantDisconnected = 8,
DeviceStateReasonSupplicantConfigFailed = 9, NetworkDeviceStateReasonSupplicantConfigFailed = 9,
DeviceStateReasonSupplicantFailed = 10, NetworkDeviceStateReasonSupplicantFailed = 10,
DeviceStateReasonSupplicantTimeout = 11, NetworkDeviceStateReasonSupplicantTimeout = 11,
DeviceStateReasonPppStartFailed = 12, NetworkDeviceStateReasonPppStartFailed = 12,
DeviceStateReasonPppDisconnected = 13, NetworkDeviceStateReasonPppDisconnected = 13,
DeviceStateReasonPppFailed = 14, NetworkDeviceStateReasonPppFailed = 14,
DeviceStateReasonDhcpStartFailed = 15, NetworkDeviceStateReasonDhcpStartFailed = 15,
DeviceStateReasonDhcpError = 16, NetworkDeviceStateReasonDhcpError = 16,
DeviceStateReasonDhcpFailed = 17, NetworkDeviceStateReasonDhcpFailed = 17,
DeviceStateReasonSharedStartFailed = 18, NetworkDeviceStateReasonSharedStartFailed = 18,
DeviceStateReasonSharedFailed = 19, NetworkDeviceStateReasonSharedFailed = 19,
DeviceStateReasonAutoIpStartFailed = 20, NetworkDeviceStateReasonAutoIpStartFailed = 20,
DeviceStateReasonAutoIpError = 21, NetworkDeviceStateReasonAutoIpError = 21,
DeviceStateReasonAutoIpFailed = 22, NetworkDeviceStateReasonAutoIpFailed = 22,
DeviceStateReasonModemBusy = 23, NetworkDeviceStateReasonModemBusy = 23,
DeviceStateReasonModemNoDialTone = 24, NetworkDeviceStateReasonModemNoDialTone = 24,
DeviceStateReasonModemNoCarrier = 25, NetworkDeviceStateReasonModemNoCarrier = 25,
DeviceStateReasonModemDialTimeout = 26, NetworkDeviceStateReasonModemDialTimeout = 26,
DeviceStateReasonModemDialFailed = 27, NetworkDeviceStateReasonModemDialFailed = 27,
DeviceStateReasonModemInitFailed = 28, NetworkDeviceStateReasonModemInitFailed = 28,
DeviceStateReasonGsmApnFailed = 29, NetworkDeviceStateReasonGsmApnFailed = 29,
DeviceStateReasonGsmRegistrationNotSearching = 30, NetworkDeviceStateReasonGsmRegistrationNotSearching = 30,
DeviceStateReasonGsmRegistrationDenied = 31, NetworkDeviceStateReasonGsmRegistrationDenied = 31,
DeviceStateReasonGsmRegistrationTimeout = 32, NetworkDeviceStateReasonGsmRegistrationTimeout = 32,
DeviceStateReasonGsmRegistrationFailed = 33, NetworkDeviceStateReasonGsmRegistrationFailed = 33,
DeviceStateReasonGsmPinCheckFailed = 34, NetworkDeviceStateReasonGsmPinCheckFailed = 34,
DeviceStateReasonFirmwareMissing = 35, NetworkDeviceStateReasonFirmwareMissing = 35,
DeviceStateReasonRemoved = 36, NetworkDeviceStateReasonRemoved = 36,
DeviceStateReasonSleeping = 37, NetworkDeviceStateReasonSleeping = 37,
DeviceStateReasonConnectionRemoved = 38, NetworkDeviceStateReasonConnectionRemoved = 38,
DeviceStateReasonUserRequest = 39, NetworkDeviceStateReasonUserRequest = 39,
DeviceStateReasonCarrier = 40, NetworkDeviceStateReasonCarrier = 40,
DeviceStateReasonConnectionAssumed = 41, NetworkDeviceStateReasonConnectionAssumed = 41,
DeviceStateReasonSupplicantAvailable = 42, NetworkDeviceStateReasonSupplicantAvailable = 42,
DeviceStateReasonModemNotFound = 43, NetworkDeviceStateReasonModemNotFound = 43,
DeviceStateReasonBtFailed = 44, NetworkDeviceStateReasonBtFailed = 44,
DeviceStateReasonGsmSimNotInserted = 45, NetworkDeviceStateReasonGsmSimNotInserted = 45,
DeviceStateReasonGsmSimPinRequired = 46, NetworkDeviceStateReasonGsmSimPinRequired = 46,
DeviceStateReasonGsmSimPukRequired = 47, NetworkDeviceStateReasonGsmSimPukRequired = 47,
DeviceStateReasonGsmSimWrong = 48, NetworkDeviceStateReasonGsmSimWrong = 48,
DeviceStateReasonInfinibandMode = 49, NetworkDeviceStateReasonInfinibandMode = 49,
DeviceStateReasonDependencyFailed = 50, NetworkDeviceStateReasonDependencyFailed = 50,
DeviceStateReasonBR2684Failed = 51, NetworkDeviceStateReasonBR2684Failed = 51,
DeviceStateReasonModemManagerUnavailable = 52, NetworkDeviceStateReasonModemManagerUnavailable = 52,
DeviceStateReasonSsidNotFound = 53, NetworkDeviceStateReasonSsidNotFound = 53,
DeviceStateReasonSecondaryConnectionFailed = 54, NetworkDeviceStateReasonSecondaryConnectionFailed = 54,
DeviceStateReasonDcbFoecFailed = 55, NetworkDeviceStateReasonDcbFoecFailed = 55,
DeviceStateReasonTeamdControlFailed = 56, NetworkDeviceStateReasonTeamdControlFailed = 56,
DeviceStateReasonModemFailed = 57, NetworkDeviceStateReasonModemFailed = 57,
DeviceStateReasonModemAvailable = 58, NetworkDeviceStateReasonModemAvailable = 58,
DeviceStateReasonSimPinIncorrect = 59, NetworkDeviceStateReasonSimPinIncorrect = 59,
DeviceStateReasonNewActivision = 60, NetworkDeviceStateReasonNewActivision = 60,
DeviceStateReasonParentChanged = 61, NetworkDeviceStateReasonParentChanged = 61,
DeviceStateReasonParentManagedChanged = 62 NetworkDeviceStateReasonParentManagedChanged = 62
}; };
explicit WirelessNetworkManager(const QDBusObjectPath &objectPath, QObject *parent = 0); explicit WirelessNetworkManager(const QDBusObjectPath &objectPath, QObject *parent = 0);
@ -134,17 +134,17 @@ public:
bool connected() const; bool connected() const;
bool managed() const; bool managed() const;
DeviceState state() const; NetworkDeviceState state() const;
DeviceStateReason stateReason() const; NetworkDeviceStateReason stateReason() const;
void scanWirelessNetworks(); void scanWirelessNetworks();
QList<WirelessAccessPoint *> accessPoints(); QList<WirelessAccessPoint *> accessPoints();
WirelessAccessPoint * getAccessPoint(const QString &ssid); WirelessAccessPoint *getAccessPoint(const QString &ssid);
WirelessAccessPoint * getAccessPoint(const QDBusObjectPath &objectPath); WirelessAccessPoint *getAccessPoint(const QDBusObjectPath &objectPath);
static QString deviceStateToString(const DeviceState &state); static QString deviceStateToString(const NetworkDeviceState &state);
static QString deviceStateReasonToString(const DeviceStateReason &stateReason); static QString deviceStateReasonToString(const NetworkDeviceStateReason &stateReason);
private: private:
QDBusObjectPath m_objectPath; QDBusObjectPath m_objectPath;
@ -158,8 +158,8 @@ private:
// Can change // Can change
bool m_connected; bool m_connected;
bool m_managed; bool m_managed;
DeviceState m_state; NetworkDeviceState m_state;
DeviceStateReason m_stateReason; NetworkDeviceStateReason m_stateReason;
QHash<QDBusObjectPath, WirelessAccessPoint *> m_accessPointsTable; QHash<QDBusObjectPath, WirelessAccessPoint *> m_accessPointsTable;
@ -167,8 +167,8 @@ private:
void readWirelessDeviceProperties(); void readWirelessDeviceProperties();
void setConnected(const bool &connected); void setConnected(const bool &connected);
void setState(const DeviceState &state); void setState(const NetworkDeviceState &state);
void setStateReason(const DeviceStateReason &stateReason); void setStateReason(const NetworkDeviceStateReason &stateReason);
void setManaged(const bool &managed); void setManaged(const bool &managed);
private slots: private slots:
@ -180,7 +180,7 @@ private slots:
signals: signals:
void connectedChanged(const bool &connected); void connectedChanged(const bool &connected);
void managedChanged(const bool &managed); void managedChanged(const bool &managed);
void stateChanged(const DeviceState &state); void stateChanged(const NetworkDeviceState &state);
}; };
QDebug operator<<(QDebug debug, WirelessNetworkManager *manager); QDebug operator<<(QDebug debug, WirelessNetworkManager *manager);