#include <QCoreApplication>
#include <QString>
-#include "cliparser.h"
+#include "abstractcliparser.h"
class Quassel {
Q_DECLARE_TR_FUNCTIONS(Quassel)
- public:
- enum RunMode {
- Monolithic,
- ClientOnly,
- CoreOnly
- };
+public:
+ enum RunMode {
+ Monolithic,
+ ClientOnly,
+ CoreOnly
+ };
- struct BuildInfo {
- QString fancyVersionString; // clickable rev
- QString plainVersionString; // no <a> tag
+ struct BuildInfo {
+ QString fancyVersionString; // clickable rev
+ QString plainVersionString; // no <a> tag
- QString baseVersion;
- QString generatedVersion;
- QString commitHash;
- uint commitDate;
- QString buildDate;
- bool isSourceDirty;
- uint protocolVersion;
- uint clientNeedsProtocol;
- uint coreNeedsProtocol;
+ QString baseVersion;
+ QString generatedVersion;
+ QString commitHash;
+ uint commitDate;
+ QString buildDate;
+ bool isSourceDirty;
+ uint protocolVersion;
+ uint clientNeedsProtocol;
+ uint coreNeedsProtocol;
- QString applicationName;
- QString coreApplicationName;
- QString clientApplicationName;
- QString organizationName;
- QString organizationDomain;
- };
+ QString applicationName;
+ QString coreApplicationName;
+ QString clientApplicationName;
+ QString organizationName;
+ QString organizationDomain;
+ };
- void setupBuildInfo(const QString &generated);
+ virtual ~Quassel();
- virtual ~Quassel();
+ static void setupBuildInfo(const QString &generated);
+ static inline const BuildInfo & buildInfo();
+ static inline RunMode runMode();
- static inline const BuildInfo & buildInfo();
- static inline RunMode runMode();
+ static inline void setCliParser(AbstractCliParser *cliParser);
+ static inline AbstractCliParser *cliParser();
+ static inline QString optionValue(const QString &option);
+ static inline bool isOptionSet(const QString &option);
- static inline CliParser *cliParser();
- static inline QString optionValue(const QString &option);
- static inline bool isOptionSet(const QString &option);
+ static const QString &coreDumpFileName();
- static bool DEBUG;
+ static bool DEBUG;
- protected:
- Quassel();
- virtual bool init();
+ static void logFatalMessage(const char *msg);
- inline void setRunMode(RunMode mode);
+protected:
+ Quassel();
+ virtual bool init();
+ inline void setRunMode(RunMode mode);
- private:
- void setupTranslations();
- void registerMetaTypes();
+private:
+ void registerMetaTypes();
- static void handleSignal(int signal);
- static void handleCrash();
+ static void handleSignal(int signal);
+ static void logBacktrace(const QString &filename);
- static BuildInfo _buildInfo;
- static CliParser *_cliParser;
- static RunMode _runMode;
- static bool _initialized;
+ static BuildInfo _buildInfo;
+ static AbstractCliParser *_cliParser;
+ static RunMode _runMode;
+ static bool _initialized;
+
+ static QString _coreDumpFileName;
};
const Quassel::BuildInfo & Quassel::buildInfo() { return _buildInfo; }
Quassel::RunMode Quassel::runMode() { return _runMode; }
void Quassel::setRunMode(Quassel::RunMode mode) { _runMode = mode; }
-CliParser *Quassel::cliParser() { return _cliParser; }
+void Quassel::setCliParser(AbstractCliParser *parser) { _cliParser = parser; }
+AbstractCliParser *Quassel::cliParser() { return _cliParser; }
QString Quassel::optionValue(const QString &key) { return cliParser()->value(key); }
bool Quassel::isOptionSet(const QString &key) { return cliParser()->isSet(key); }