X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreapplication.cpp;h=5d373c9632e4a2c60e3a62b0a4d3169608f4584c;hp=d92e46d9df30db2dcb1980e06bdae02fc54866f7;hb=af5ee11e78a6c98f755d0cc5e3bef77028b227dd;hpb=5c6804f291a63f978e328aeddcc8448e3443b45e diff --git a/src/core/coreapplication.cpp b/src/core/coreapplication.cpp index d92e46d9..5d373c96 100644 --- a/src/core/coreapplication.cpp +++ b/src/core/coreapplication.cpp @@ -21,20 +21,19 @@ #include "coreapplication.h" #include "core.h" +#include "logger.h" -CoreApplicationInternal::CoreApplicationInternal() { - // put core-only arguments here - CliParser *parser = Quassel::cliParser(); - parser->addOption("port",'p', tr("The port quasselcore will listen at"), QString("4242")); - parser->addSwitch("norestore", 'n', tr("Don't restore last core's state")); - parser->addOption("logfile", 'l', tr("Path to logfile")); - parser->addOption("loglevel", 'L', tr("Loglevel Debug|Info|Warning|Error"), "Info"); - parser->addOption("datadir", 0, tr("Specify the directory holding datafiles like the Sqlite DB and the SSL Cert")); +CoreApplicationInternal::CoreApplicationInternal() + : _coreCreated(false) +{ + Q_INIT_RESOURCE(sql); } CoreApplicationInternal::~CoreApplicationInternal() { - Core::saveState(); - Core::destroy(); + if(_coreCreated) { + Core::saveState(); + Core::destroy(); + } } bool CoreApplicationInternal::init() { @@ -51,10 +50,11 @@ bool CoreApplicationInternal::init() { } Core::instance(); // create and init the core + _coreCreated = true; - if(!Quassel::isOptionSet("norestore")) { + if(!Quassel::isOptionSet("norestore")) Core::restoreState(); - } + return true; } @@ -70,7 +70,9 @@ CoreApplication::~CoreApplication() { } bool CoreApplication::init() { - if(Quassel::init()) - return _internal->init(); + if(Quassel::init() && _internal->init()) { + qInstallMsgHandler(Logger::logMessage); + return true; + } return false; }