#pragma once
+#include "common-export.h"
+
#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"
class Logger;
-class Quassel : public QObject, public Singleton<Quassel>
+class COMMON_EXPORT Quassel : public QObject, public Singleton<Quassel>
{
// TODO Qt5: Use Q_GADGET
Q_OBJECT
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 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.
QStringList _dataDirPaths;
QString _translationDirPath;
- std::shared_ptr<AbstractCliParser> _cliParser;
+ QCommandLineParser _cliParser;
Logger *_logger;
AbstractSignalWatcher *_signalWatcher{nullptr};
*
* @sa Quassel::Feature
*/
-class Quassel::Features
+class COMMON_EXPORT Quassel::Features
{
public:
/**