Add CheckConnectivity method and verify connectivity on state changed due to missing property changed signal
This commit is contained in:
parent
431107c91e
commit
58c4883e9b
@ -592,6 +592,24 @@ bool NetworkManager::enableWireless(bool enabled)
|
|||||||
return m_networkManagerInterface->setProperty("WirelessEnabled", enabled);
|
return m_networkManagerInterface->setProperty("WirelessEnabled", enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NetworkManager::checkConnectivity()
|
||||||
|
{
|
||||||
|
// Get network devices
|
||||||
|
qCDebug(dcNetworkManager()) << "Checking connectivity ...";
|
||||||
|
QDBusMessage query = m_networkManagerInterface->call("CheckConnectivity");
|
||||||
|
if(query.type() != QDBusMessage::ReplyMessage) {
|
||||||
|
qCWarning(dcNetworkManager()) << query.errorName() << query.errorMessage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (query.arguments().isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
NetworkManagerConnectivityState state = static_cast<NetworkManagerConnectivityState>(query.arguments().at(0).toUInt());
|
||||||
|
qCDebug(dcNetworkManager()) << "Checked connectevitiy state successfully:" << query.arguments().at(0).toUInt() << state;
|
||||||
|
setConnectivityState(state);
|
||||||
|
}
|
||||||
|
|
||||||
void NetworkManager::init()
|
void NetworkManager::init()
|
||||||
{
|
{
|
||||||
qCDebug(dcNetworkManager()) << "Initializing network manager";
|
qCDebug(dcNetworkManager()) << "Initializing network manager";
|
||||||
@ -766,6 +784,7 @@ void NetworkManager::setState(const NetworkManager::NetworkManagerState &state)
|
|||||||
qCDebug(dcNetworkManager()) << "State changed:" << networkManagerStateToString(state);
|
qCDebug(dcNetworkManager()) << "State changed:" << networkManagerStateToString(state);
|
||||||
m_state = state;
|
m_state = state;
|
||||||
emit stateChanged(m_state);
|
emit stateChanged(m_state);
|
||||||
|
checkConnectivity();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkManager::onServiceRegistered()
|
void NetworkManager::onServiceRegistered()
|
||||||
@ -780,7 +799,7 @@ void NetworkManager::onServiceUnregistered()
|
|||||||
deinit();
|
deinit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkManager::onStateChanged(const uint &state)
|
void NetworkManager::onStateChanged(uint state)
|
||||||
{
|
{
|
||||||
setState(static_cast<NetworkManagerState>(state));
|
setState(static_cast<NetworkManagerState>(state));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -134,6 +134,8 @@ public:
|
|||||||
bool wirelessEnabled() const;
|
bool wirelessEnabled() const;
|
||||||
bool enableWireless(bool enabled);
|
bool enableWireless(bool enabled);
|
||||||
|
|
||||||
|
void checkConnectivity();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QDBusServiceWatcher *m_serviceWatcher = nullptr;
|
QDBusServiceWatcher *m_serviceWatcher = nullptr;
|
||||||
QDBusInterface *m_networkManagerInterface = nullptr;
|
QDBusInterface *m_networkManagerInterface = nullptr;
|
||||||
@ -187,7 +189,7 @@ private slots:
|
|||||||
void onServiceRegistered();
|
void onServiceRegistered();
|
||||||
void onServiceUnregistered();
|
void onServiceUnregistered();
|
||||||
|
|
||||||
void onStateChanged(const uint &state);
|
void onStateChanged(uint state);
|
||||||
void onDeviceAdded(const QDBusObjectPath &deviceObjectPath);
|
void onDeviceAdded(const QDBusObjectPath &deviceObjectPath);
|
||||||
void onDeviceRemoved(const QDBusObjectPath &deviceObjectPath);
|
void onDeviceRemoved(const QDBusObjectPath &deviceObjectPath);
|
||||||
void onPropertiesChanged(const QVariantMap &properties);
|
void onPropertiesChanged(const QVariantMap &properties);
|
||||||
|
|||||||
Reference in New Issue
Block a user