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); m_networkManager = new NetworkManager(this);
connect(m_networkManager, &NetworkManager::availableChanged, this, &Core::onNetworkManagerAvailableChanged); connect(m_networkManager, &NetworkManager::availableChanged, this, &Core::onNetworkManagerAvailableChanged);
connect(m_networkManager, &NetworkManager::stateChanged, this, &Core::onNetworkManagerStateChanged); 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); m_bluetoothServer = new BluetoothServer(this);
connect(m_bluetoothServer, &BluetoothServer::runningChanged, this, &Core::onBluetoothServerRunningChanged); connect(m_bluetoothServer, &BluetoothServer::runningChanged, this, &Core::onBluetoothServerRunningChanged);
@ -126,13 +128,12 @@ Core::~Core()
} }
void Core::evaluateNetworkManagerState(const NetworkManager::NetworkManagerState &state) void Core::evaluateNetworkManagerState(const NetworkManager::NetworkManagerState &state)
{ {
if (m_testing && m_networkManager->available()) { if (m_testing && m_networkManager->available()) {
startService(); startService();
return; return;
} }
switch (state) { switch (state) {
case NetworkManager::NetworkManagerStateConnectedGlobal: case NetworkManager::NetworkManagerStateConnectedGlobal:
// We are online // We are online
@ -226,6 +227,21 @@ void Core::onNetworkManagerAvailableChanged(const bool &available)
} }
qCDebug(dcApplication()) << "Networkmanager is now 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()); evaluateNetworkManagerState(m_networkManager->state());
} }

View File

@ -74,6 +74,8 @@ private slots:
void onBluetoothServerConnectedChanged(bool connected); void onBluetoothServerConnectedChanged(bool connected);
void onNetworkManagerAvailableChanged(const bool &available); void onNetworkManagerAvailableChanged(const bool &available);
void onNetworkManagerNetworkingEnabledChanged(bool enabled);
void onNetworkManagerWirelessEnabledChanged(bool enabled);
void onNetworkManagerStateChanged(const NetworkManager::NetworkManagerState &state); void onNetworkManagerStateChanged(const NetworkManager::NetworkManagerState &state);
void onNymeaServiceAvailableChanged(bool available); void onNymeaServiceAvailableChanged(bool available);