diff options
| author | Jacob Brydolf <jacob@brydolf.net> | 2016-11-05 10:47:17 +0100 |
|---|---|---|
| committer | Jaquee <jaquee.monero@gmail.com> | 2016-11-26 19:35:16 +0100 |
| commit | 4cdc258b152e54766bdb8c26ceee4b5ddf4bb9b6 (patch) | |
| tree | 3cdf463cb238c79b186731f99317bc6a8235b03b /src/daemon/DaemonManager.cpp | |
| parent | 26abdee5c47017a80117b1bed5ee36586a240c62 (diff) | |
| download | monzero-gui-4cdc258b152e54766bdb8c26ceee4b5ddf4bb9b6.tar.gz monzero-gui-4cdc258b152e54766bdb8c26ceee4b5ddf4bb9b6.tar.xz monzero-gui-4cdc258b152e54766bdb8c26ceee4b5ddf4bb9b6.zip | |
WalletManager: basic functionality
Diffstat (limited to 'src/daemon/DaemonManager.cpp')
| -rw-r--r-- | src/daemon/DaemonManager.cpp | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp new file mode 100644 index 00000000..30ae06cd --- /dev/null +++ b/src/daemon/DaemonManager.cpp @@ -0,0 +1,87 @@ +#include "DaemonManager.h" +#include <QFile> +#include <QFileInfo> +#include <QDir> +#include <QDebug> +#include <QUrl> +#include <QtConcurrent/QtConcurrent> +#include <QApplication> +#include <QProcess> + +DaemonManager * DaemonManager::m_instance = nullptr; + +DaemonManager *DaemonManager::instance() +{ + if (!m_instance) { + m_instance = new DaemonManager; + } + + return m_instance; +} + +bool DaemonManager::start() +{ + QString program = QApplication::applicationDirPath() + "/monerod"; + qDebug() << "starting monerod " + program; + QStringList arguments; + + m_daemon = new QProcess(); + + connect (m_daemon, SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput())); + connect (m_daemon, SIGNAL(readyReadStandardError()), this, SLOT(printError())); + + + m_daemon->start(program); + bool started = m_daemon->waitForStarted(); + + if(!started){ + qDebug() << "Daemon start error: " + m_daemon->errorString(); + } + + return started; +} + +bool DaemonManager::stop() +{ + return true; +} + +void DaemonManager::printOutput() +{ + QByteArray byteArray = m_daemon->readAllStandardOutput(); + QStringList strLines = QString(byteArray).split("\n"); + + foreach (QString line, strLines){ + // dConsole.append(line+"\n"); + qDebug() << "Daemon: " + line; + } +} + +void DaemonManager::printError() +{ + QByteArray byteArray = m_daemon->readAllStandardError(); + QStringList strLines = QString(byteArray).split("\n"); + + foreach (QString line, strLines){ + // dConsole.append(line+"\n"); + qDebug() << "Daemon ERROR: " + line; + } +} + +bool DaemonManager::running() const +{ + return m_daemon && m_daemon->state() > QProcess::NotRunning; +} + +QString DaemonManager::console() const +{ + return dConsole; +} + + +DaemonManager::DaemonManager(QObject *parent) + : QObject(parent) +{ + +} + |
