Fix network manager delegate to bluetooth service

This commit is contained in:
Simon Stürz 2018-05-11 15:22:12 +02:00
parent 3821ae21a9
commit 05f949b176
2 changed files with 20 additions and 2 deletions

View File

@ -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());
}

View File

@ -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);