aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacob Brydolf <jacob@brydolf.net>2016-11-07 11:55:11 +0100
committerJaquee <jaquee.monero@gmail.com>2016-11-26 19:36:22 +0100
commit3df9e44849cfd0e086d33b79d4dacd03b99a5583 (patch)
tree550db4798d0ae8f9e657c7569e67cc6255e6a91c /src
parent5da9f8fbe4f2221bb6ec7ce08140c17ef0754b18 (diff)
downloadmonzero-gui-3df9e44849cfd0e086d33b79d4dacd03b99a5583.tar.gz
monzero-gui-3df9e44849cfd0e086d33b79d4dacd03b99a5583.tar.xz
monzero-gui-3df9e44849cfd0e086d33b79d4dacd03b99a5583.zip
DaemonManager: windows support
Diffstat (limited to 'src')
-rw-r--r--src/daemon/DaemonManager.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index a637d281..80d7c8a4 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -21,17 +21,33 @@ DaemonManager *DaemonManager::instance()
bool DaemonManager::start()
{
- QString program = QApplication::applicationDirPath() + "/monerod";
- qDebug() << "starting monerod " + program;
+
+ //
+ QString process;
+#ifdef Q_OS_WIN
+ process = QApplication::applicationDirPath() + "/monerod.exe";
+#elif defined(Q_OS_UNIX)
+ process = QApplication::applicationDirPath() + "/monerod";
+#endif
+
+ if(process.length() == 0) {
+ qDebug() << "no daemon binary defined for current platform";
+ return false;
+ }
+
+ qDebug() << "starting monerod " + process;
+
+ // TODO: forward CLI arguments
QStringList arguments;
m_daemon = new QProcess();
+ // Connect output slots
connect (m_daemon, SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput()));
connect (m_daemon, SIGNAL(readyReadStandardError()), this, SLOT(printError()));
- m_daemon->start(program);
+ m_daemon->start(process);
bool started = m_daemon->waitForStarted();
if(!started){
@@ -48,8 +64,8 @@ bool DaemonManager::stop()
if(m_daemon){
qDebug() << "stopping daemon";
m_daemon->terminate();
- // Wait until stopped. Max 30 seconds
- bool stopped = m_daemon->waitForFinished(30000);
+ // Wait until stopped. Max 10 seconds
+ bool stopped = m_daemon->waitForFinished(10000);
if(stopped) emit daemonStopped();
return stopped;
}