X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.h;h=b490075c550806dcb77e46265808e0d9a8ff7b7d;hp=bed6eac345812f0ada80252cf77cbb97d4196f1b;hb=af5ee11e78a6c98f755d0cc5e3bef77028b227dd;hpb=480eab8daec4fb56a6886918c6a913cc197330f1 diff --git a/src/common/quassel.h b/src/common/quassel.h index bed6eac3..b490075c 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -24,77 +24,82 @@ #include #include -#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 tag + struct BuildInfo { + QString fancyVersionString; // clickable rev + QString plainVersionString; // no 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); }