aboutsummaryrefslogtreecommitdiff
path: root/src/daemon
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2019-09-02 21:32:36 +0000
committerxiphon <xiphon@protonmail.com>2019-09-09 15:24:26 +0000
commit0d247a9b8a2fa6770d1834584eedb109c6ab7e3d (patch)
tree353d9c588cc280c869d2cb07feabd3422e540431 /src/daemon
parenta5b2d5e727c44d03c5f3f96d9726658caa9cdb6d (diff)
downloadmonzero-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.cpp19
-rw-r--r--src/daemon/DaemonManager.h4
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;
};