diff options
| author | Jacob Brydolf <jacob@brydolf.net> | 2016-11-07 11:55:11 +0100 |
|---|---|---|
| committer | Jaquee <jaquee.monero@gmail.com> | 2016-11-26 19:36:22 +0100 |
| commit | 3df9e44849cfd0e086d33b79d4dacd03b99a5583 (patch) | |
| tree | 550db4798d0ae8f9e657c7569e67cc6255e6a91c /src | |
| parent | 5da9f8fbe4f2221bb6ec7ce08140c17ef0754b18 (diff) | |
| download | monzero-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.cpp | 26 |
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; } |
