improve network manager api
This commit is contained in:
parent
27dcedba70
commit
a3352f4787
@ -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);
|
||||||
|
|||||||
@ -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)); \
|
||||||
|
|||||||
@ -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 ¶ms)
|
|||||||
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 ¶ms)
|
|||||||
{
|
{
|
||||||
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 ¶ms)
|
|||||||
{
|
{
|
||||||
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 ¶ms)
|
JsonReply *NetworkManagerHandler::ConnectWifiNetwork(const QVariantMap ¶ms)
|
||||||
{
|
{
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,10 +43,20 @@ public:
|
|||||||
Q_INVOKABLE JsonReply *ScanWifiNetworks(const QVariantMap ¶ms);
|
Q_INVOKABLE JsonReply *ScanWifiNetworks(const QVariantMap ¶ms);
|
||||||
Q_INVOKABLE JsonReply *ConnectWifiNetwork(const QVariantMap ¶ms);
|
Q_INVOKABLE JsonReply *ConnectWifiNetwork(const QVariantMap ¶ms);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QVariantMap packNetworkManagerStatus();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void NetworkStatusChanged(const QVariantMap ¶ms);
|
||||||
|
void NetworkDeviceChanged(const QVariantMap ¶ms);
|
||||||
|
void NetworkDeviceAdded(const QVariantMap ¶ms);
|
||||||
|
void NetworkDeviceRemoved(const QVariantMap ¶ms);
|
||||||
|
|
||||||
public slots:
|
private slots:
|
||||||
|
void onNetworkManagerStatusChanged();
|
||||||
|
void onNetworkDeviceChanged(NetworkDevice *networkDevice);
|
||||||
|
void onNetworkDeviceAdded(NetworkDevice *networkDevice);
|
||||||
|
void onNetworkDeviceRemoved(NetworkDevice *networkDevice);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user