+
+CoreApplicationInternal::~CoreApplicationInternal()
+{
+ if (_coreCreated) {
+ Core::saveState();
+ Core::destroy();
+ }
+}
+
+
+bool CoreApplicationInternal::init()
+{
+ /* FIXME
+ This is an initial check if logfile is writable since the warning would spam stdout if done
+ in current Logger implementation. Can be dropped whenever the logfile is only opened once.
+ */
+ QFile logFile;
+ if (!Quassel::optionValue("logfile").isEmpty()) {
+ logFile.setFileName(Quassel::optionValue("logfile"));
+ if (!logFile.open(QIODevice::Append | QIODevice::Text))
+ qWarning("Warning: Couldn't open logfile '%s' - will log to stdout instead", qPrintable(logFile.fileName()));
+ else logFile.close();
+ }
+
+ Core::instance(); // create and init the core
+ _coreCreated = true;
+
+ if (!Quassel::isOptionSet("norestore"))
+ Core::restoreState();
+
+ return true;