From 636ca1c41dc5fb56b9af4140f4896508de779e64 Mon Sep 17 00:00:00 2001 From: xiphon Date: Sun, 16 Feb 2020 15:01:17 +0000 Subject: DaemonManager: async stop, simple mode wizard - show splash on stop --- src/daemon/DaemonManager.cpp | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'src/daemon/DaemonManager.cpp') diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp index 8d995458..40cf4d2b 100644 --- a/src/daemon/DaemonManager.cpp +++ b/src/daemon/DaemonManager.cpp @@ -153,21 +153,19 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const return true; } -bool DaemonManager::stop(NetworkType::Type nettype) +void DaemonManager::stopAsync(NetworkType::Type nettype, const QJSValue& callback) { - QString message; - sendCommand({"exit"}, nettype, message); - qDebug() << message; + const auto feature = m_scheduler.run([this, nettype] { + QString message; + sendCommand({"exit"}, nettype, message); - // Start stop watcher - Will kill if not shutting down - m_scheduler.run([this, nettype] { - if (stopWatcher(nettype)) - { - emit daemonStopped(); - } - }); + return QJSValueList({stopWatcher(nettype)}); + }, callback); - return true; + if (!feature.first) + { + QJSValue(callback).call(QJSValueList({false})); + } } bool DaemonManager::startWatcher(NetworkType::Type nettype) const -- cgit v1.2.3