diff options
| author | xiphon <xiphon@protonmail.com> | 2019-09-02 21:32:36 +0000 |
|---|---|---|
| committer | xiphon <xiphon@protonmail.com> | 2019-09-09 15:24:26 +0000 |
| commit | 0d247a9b8a2fa6770d1834584eedb109c6ab7e3d (patch) | |
| tree | 353d9c588cc280c869d2cb07feabd3422e540431 /src/daemon | |
| parent | a5b2d5e727c44d03c5f3f96d9726658caa9cdb6d (diff) | |
| download | monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.tar.gz monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.tar.xz monzero-gui-0d247a9b8a2fa6770d1834584eedb109c6ab7e3d.zip | |
SimpleMode: automatic public nodes discovering and switching
Diffstat (limited to 'src/daemon')
| -rw-r--r-- | src/daemon/DaemonManager.cpp | 19 | ||||
| -rw-r--r-- | src/daemon/DaemonManager.h | 4 |
2 files changed, 18 insertions, 5 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp index 4277e0bb..29a7086d 100644 --- a/src/daemon/DaemonManager.cpp +++ b/src/daemon/DaemonManager.cpp @@ -61,7 +61,7 @@ DaemonManager *DaemonManager::instance(const QStringList *args) return m_instance; } -bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const QString &dataDir, const QString &bootstrapNodeAddress) +bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const QString &dataDir, const QString &bootstrapNodeAddress, bool noSync /* = false*/) { // prepare command line arguments and pass to monerod QStringList arguments; @@ -99,6 +99,10 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const arguments << "--bootstrap-daemon-address" << bootstrapNodeAddress; } + if (noSync) { + arguments << "--no-sync"; + } + arguments << "--check-updates" << "disabled"; // --max-concurrency based on threads available. max: 6 @@ -131,11 +135,13 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const } // Start start watcher - m_scheduler.run([this, nettype] { - if (startWatcher(nettype)) + m_scheduler.run([this, nettype, noSync] { + if (startWatcher(nettype)) { emit daemonStarted(); - else + m_noSync = noSync; + } else { emit daemonStartFailure(); + } }); return true; @@ -244,6 +250,11 @@ bool DaemonManager::running(NetworkType::Type nettype) const return false; } +bool DaemonManager::noSync() const noexcept +{ + return m_noSync; +} + void DaemonManager::runningAsync(NetworkType::Type nettype, const QJSValue& callback) const { m_scheduler.run([this, nettype] { diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h index 5a29ea64..0df97c63 100644 --- a/src/daemon/DaemonManager.h +++ b/src/daemon/DaemonManager.h @@ -44,9 +44,10 @@ public: static DaemonManager * instance(const QStringList *args); - Q_INVOKABLE bool start(const QString &flags, NetworkType::Type nettype, const QString &dataDir = "", const QString &bootstrapNodeAddress = ""); + Q_INVOKABLE bool start(const QString &flags, NetworkType::Type nettype, const QString &dataDir = "", const QString &bootstrapNodeAddress = "", bool noSync = false); Q_INVOKABLE bool stop(NetworkType::Type nettype); + Q_INVOKABLE bool noSync() const noexcept; // return true if daemon process is started Q_INVOKABLE void runningAsync(NetworkType::Type nettype, const QJSValue& callback) const; // Send daemon command from qml and prints output in console window. @@ -82,6 +83,7 @@ private: QString m_monerod; bool m_has_daemon = true; bool m_app_exit = false; + bool m_noSync = false; mutable FutureScheduler m_scheduler; }; |
