From 118ed432216958bda82d2b90c9bcf2de6e124dad Mon Sep 17 00:00:00 2001 From: LightBase Consultoria em Software Publico Date: Thu, 21 Aug 2014 14:38:43 -0300 Subject: [PATCH] Implementação do serviço (daemon) CacicD para linux e windows. --- cacicD/cacicd.cpp | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- cacicD/cacicd.h | 37 +++++++++++++++++++++++++++++++++++-- cacicD/main.cpp | 23 +++-------------------- 3 files changed, 93 insertions(+), 23 deletions(-) diff --git a/cacicD/cacicd.cpp b/cacicD/cacicd.cpp index cbe41b8..4b11668 100644 --- a/cacicD/cacicd.cpp +++ b/cacicD/cacicd.cpp @@ -1,5 +1,59 @@ #include "cacicd.h" -cacicD::cacicD() +cacicD::cacicD(int argc, char **argv) : QtService(argc, argv, "CacicD") { + try{ + setServiceDescription("Cacic Daemon"); + setServiceFlags(QtServiceBase::CannotBeStopped); + } catch (...){ + qCritical() << "Error desconhecido no construtor."; + } +} + +cacicD::~cacicD() +{ + try{ + + } catch (...){ + qCritical() << "Error desconhecido no desconstrutor."; + } +} + +void cacicD::start() +{ + try{ + QCoreApplication *app = application(); + qDebug() << "Serviço iniciado."; + qDebug() << app->applicationDirPath(); + + } catch (...){ + qCritical() << "Error desconhecido no desconstrutor."; + } +} + +void cacicD::pause() +{ + try{ + qDebug() << "Serviço pausado."; + } catch (...){ + qCritical() << "Error desconhecido ao pausar o serviço."; + } +} + +void cacicD::resume() +{ + try{ + qDebug() << "Serviço resumido."; + } catch (...){ + qCritical() << "Error desconhecido ao resumir o serviço."; + } +} + +void cacicD::stop() +{ + try{ + qDebug() << "Serviço parado."; + } catch (...){ + qCritical() << "Error desconhecido ao parar o serviço."; + } } diff --git a/cacicD/cacicd.h b/cacicD/cacicd.h index a9c388f..ef462b9 100644 --- a/cacicD/cacicd.h +++ b/cacicD/cacicd.h @@ -1,10 +1,43 @@ #ifndef CACICD_H #define CACICD_H -class cacicD +#include +#include +#include +#include "qtservice.h" + + +class cacicD : public QtService { public: - cacicD(); + /** + * @brief cacicD Construtor + * @param argc + * @param argv + */ + cacicD(int argc, char **argv); + /** + * @brief cacicD Desconstrutor + */ + ~cacicD(); + /** + * @brief inicia o serviço + */ + void start(); + /** + * @brief pausa o serviço + */ + void pause(); + /** + * @brief resume a execução do serviço + */ + void resume(); + /** + * @brief para a execução do serviço + */ + void stop(); + + }; #endif // CACICD_H diff --git a/cacicD/main.cpp b/cacicD/main.cpp index ab09bd1..17b7ada 100644 --- a/cacicD/main.cpp +++ b/cacicD/main.cpp @@ -1,25 +1,8 @@ #include -#include -#include -#include -#include +#include "cacicd.h" int main(int argc, char **argv) { -#if !defined(Q_OS_WIN) - QSettings::setPath(QSettings::NativeFormat, QSettings::SystemScope, QDir::tempPath()); - qWarning("(Example uses dummy settings file: %s/QtSoftware.conf)", QDir::tempPath().toLatin1().constData()); -#endif - //int result = processArgs(argc, argv); - if (QString::fromLocal8Bit(argv[argc-1]) == QLatin1String("-w") || - QString::fromLocal8Bit(argv[argc-1]) == QLatin1String("-wait")) { - printf("\nPress Enter to continue..."); - QFile input; - input.open(stdin, QIODevice::ReadOnly); - input.readLine(); - printf("\n"); - } - //return result; + cacicD sevice(argc, argv); + return sevice.exec(); } - - -- libgit2 0.21.2