From 4cdc258b152e54766bdb8c26ceee4b5ddf4bb9b6 Mon Sep 17 00:00:00 2001 From: Jacob Brydolf Date: Sat, 5 Nov 2016 10:47:17 +0100 Subject: WalletManager: basic functionality --- src/daemon/DaemonManager.cpp | 87 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/daemon/DaemonManager.cpp (limited to 'src/daemon/DaemonManager.cpp') 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 +#include +#include +#include +#include +#include +#include +#include + +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) +{ + +} + -- cgit v1.2.3