class Quassel {
Q_DECLARE_TR_FUNCTIONS(Quassel)
- public:
- enum RunMode {
- Monolithic,
- ClientOnly,
- CoreOnly
- };
-
- struct BuildInfo {
- QString version;
- QString baseVersion;
- QString generatedVersion;
- QString buildDate;
- QString buildTime;
- QString commitHash;
- uint archiveDate;
- uint protocolVersion;
- uint clientNeedsProtocol;
- uint coreNeedsProtocol;
-
- QString applicationName;
- QString coreApplicationName;
- QString clientApplicationName;
- QString organizationName;
- QString organizationDomain;
- };
-
- virtual ~Quassel();
-
- static inline const BuildInfo & buildInfo();
- static inline RunMode runMode();
-
- static inline CliParser *cliParser();
- static inline QString optionValue(const QString &option);
- static inline bool isOptionSet(const QString &option);
-
- static bool DEBUG;
-
- protected:
- Quassel();
- virtual bool init();
-
- inline void setRunMode(RunMode mode);
-
-
- private:
- void setupBuildInfo();
- void setupTranslations();
- void registerMetaTypes();
-
- static void handleSignal(int signal);
- static void handleCrash();
-
- static BuildInfo _buildInfo;
- static CliParser *_cliParser;
- static RunMode _runMode;
- static bool _initialized;
-};
+public:
+ enum RunMode {
+ Monolithic,
+ ClientOnly,
+ CoreOnly
+ };
+
+ 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 applicationName;
+ QString coreApplicationName;
+ QString clientApplicationName;
+ QString organizationName;
+ QString organizationDomain;
+ };
+
+ virtual ~Quassel();
+
+ static void setupBuildInfo(const QString &generated);
+ static inline const BuildInfo & buildInfo();
+ static inline RunMode runMode();
+
+ 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 void logFatalMessage(const char *msg);
+
+protected:
+ Quassel();
+ virtual bool init();
+
+ inline void setRunMode(RunMode mode);
-// FIXME temporary
-namespace Global {
- extern QString quasselVersion;
- extern QString quasselBaseVersion;
- extern QString quasselBuildDate;
- extern QString quasselBuildTime;
- extern QString quasselCommit;
- extern uint quasselArchiveDate;
- extern uint protocolVersion;
+private:
+ void registerMetaTypes();
- extern uint clientNeedsProtocol; //< Minimum protocol version the client needs
- extern uint coreNeedsProtocol; //< Minimum protocol version the core needs
+ static void handleSignal(int signal);
+ static void logBacktrace(const QString &filename);
- extern QString quasselGeneratedVersion; //< This is possibly set in version.gen
+ static BuildInfo _buildInfo;
+ static CliParser *_cliParser;
+ static RunMode _runMode;
+ static bool _initialized;
- void setupVersion();
+ 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; }
+CliParser *Quassel::cliParser() { return _cliParser ? _cliParser : _cliParser = new CliParser(); }
QString Quassel::optionValue(const QString &key) { return cliParser()->value(key); }
bool Quassel::isOptionSet(const QString &key) { return cliParser()->isSet(key); }