#pragma once
#include <functional>
-#include <memory>
#include <vector>
+#include <QCommandLineParser>
#include <QCoreApplication>
#include <QFile>
-#include <QObject>
#include <QLocale>
+#include <QObject>
#include <QString>
#include <QStringList>
-#include "abstractcliparser.h"
#include "abstractsignalwatcher.h"
#include "singleton.h"
Quassel();
+ void init(RunMode runMode);
+
/**
* Provides access to the Logger instance.
*
static void loadTranslation(const QLocale &locale);
- static void setCliParser(std::shared_ptr<AbstractCliParser> cliParser);
static QString optionValue(const QString &option);
static bool isOptionSet(const QString &option);
signals:
void messageLogged(const QDateTime &timeStamp, const QString &msg);
-protected:
- static bool init();
-
- static void setRunMode(Quassel::RunMode runMode);
-
- static void setDataDirPaths(const QStringList &paths);
- static QStringList findDataDirPaths();
-
- friend class CoreApplication;
- friend class QtUiApplication;
- friend class MonolithicApplication;
-
private:
- void setupEnvironment();
void registerMetaTypes();
void setupSignalHandling();
+ void setupEnvironment();
+ void setupCliParser();
/**
* Requests a reload of relevant runtime configuration.
private:
BuildInfo _buildInfo;
RunMode _runMode;
- bool _initialized{false};
bool _quitting{false};
QString _coreDumpFileName;
QStringList _dataDirPaths;
QString _translationDirPath;
- std::shared_ptr<AbstractCliParser> _cliParser;
+ QCommandLineParser _cliParser;
Logger *_logger;
AbstractSignalWatcher *_signalWatcher{nullptr};