From 05f949b176713d38547bf04b020469671ca8ec10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 11 May 2018 15:22:12 +0200 Subject: [PATCH] Fix network manager delegate to bluetooth service --- nymea-networkmanager/core.cpp | 20 ++++++++++++++++++-- nymea-networkmanager/core.h | 2 ++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/nymea-networkmanager/core.cpp b/nymea-networkmanager/core.cpp index ccae7d7..88afd05 100644 --- a/nymea-networkmanager/core.cpp +++ b/nymea-networkmanager/core.cpp @@ -101,6 +101,8 @@ Core::Core(QObject *parent) : m_networkManager = new NetworkManager(this); connect(m_networkManager, &NetworkManager::availableChanged, this, &Core::onNetworkManagerAvailableChanged); connect(m_networkManager, &NetworkManager::stateChanged, this, &Core::onNetworkManagerStateChanged); + connect(m_networkManager, &NetworkManager::networkingEnabledChanged, this, &Core::onNetworkManagerNetworkingEnabledChanged); + connect(m_networkManager, &NetworkManager::wirelessEnabledChanged, this, &Core::onNetworkManagerWirelessEnabledChanged); m_bluetoothServer = new BluetoothServer(this); connect(m_bluetoothServer, &BluetoothServer::runningChanged, this, &Core::onBluetoothServerRunningChanged); @@ -126,13 +128,12 @@ Core::~Core() } void Core::evaluateNetworkManagerState(const NetworkManager::NetworkManagerState &state) -{ +{ if (m_testing && m_networkManager->available()) { startService(); return; } - switch (state) { case NetworkManager::NetworkManagerStateConnectedGlobal: // We are online @@ -226,6 +227,21 @@ void Core::onNetworkManagerAvailableChanged(const bool &available) } qCDebug(dcApplication()) << "Networkmanager is now available."; + m_bluetoothServer->onNetworkManagerAvailableChanged(available); + evaluateNetworkManagerState(m_networkManager->state()); +} + +void Core::onNetworkManagerNetworkingEnabledChanged(bool enabled) +{ + qCDebug(dcApplication()) << "Networkmanager networking is now" << (enabled ? "enabled" : "disabled"); + m_bluetoothServer->onNetworkingEnabledChanged(enabled); + evaluateNetworkManagerState(m_networkManager->state()); +} + +void Core::onNetworkManagerWirelessEnabledChanged(bool enabled) +{ + qCDebug(dcApplication()) << "Networkmanager wireless networking is now" << (enabled ? "enabled" : "disabled"); + m_bluetoothServer->onWirelessNetworkingEnabledChanged(enabled); evaluateNetworkManagerState(m_networkManager->state()); } diff --git a/nymea-networkmanager/core.h b/nymea-networkmanager/core.h index 57d1cd1..d9d3368 100644 --- a/nymea-networkmanager/core.h +++ b/nymea-networkmanager/core.h @@ -74,6 +74,8 @@ private slots: void onBluetoothServerConnectedChanged(bool connected); void onNetworkManagerAvailableChanged(const bool &available); + void onNetworkManagerNetworkingEnabledChanged(bool enabled); + void onNetworkManagerWirelessEnabledChanged(bool enabled); void onNetworkManagerStateChanged(const NetworkManager::NetworkManagerState &state); void onNymeaServiceAvailableChanged(bool available);