X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.h;h=5097badaf9d4d348282530edb7024e61dbd1f94e;hp=e070bae14a4be2c7b6dc1c02703d05bc07dbcce5;hb=4c5b4bf5355413e3f3df3704512ff350fa062961;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222 diff --git a/src/common/quassel.h b/src/common/quassel.h index e070bae1..5097bada 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2012 by the Quassel Project * + * Copyright (C) 2005-2016 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -47,12 +47,9 @@ public: QString baseVersion; QString generatedVersion; QString commitHash; - uint commitDate; - QString buildDate; - bool isSourceDirty; - uint protocolVersion; - uint clientNeedsProtocol; - uint coreNeedsProtocol; + QString commitDate; + + uint protocolVersion; // deprecated QString applicationName; QString coreApplicationName; @@ -71,10 +68,18 @@ public: enum Feature { SynchronizedMarkerLine = 0x0001, SaslAuthentication = 0x0002, - - NumFeatures = 0x0002 + SaslExternal = 0x0004, + HideInactiveNetworks = 0x0008, + PasswordChange = 0x0010, + CapNegotiation = 0x0020, /// IRCv3 capability negotiation, account tracking + VerifyServerSSL = 0x0040, /// IRC server SSL validation + CustomRateLimits = 0x0080, /// IRC server custom message rate limits + DccFileTransfer = 0x0100, + AwayFormatTimestamp = 0x0200, /// Timestamp formatting in away (e.g. %%hh:mm%%) + + NumFeatures = 0x0200 }; - Q_DECLARE_FLAGS(Features, Feature); + Q_DECLARE_FLAGS(Features, Feature) //! The features the current version of Quassel supports (\sa Feature) /** \return An ORed list of all enum values in Feature @@ -83,7 +88,7 @@ public: virtual ~Quassel(); - static void setupBuildInfo(const QString &generated); + static void setupBuildInfo(); static inline const BuildInfo &buildInfo(); static inline RunMode runMode(); @@ -142,12 +147,23 @@ protected: virtual bool init(); virtual void quit(); + /** + * Requests a reload of relevant runtime configuration. + * + * Does not reload all configuration, but could catch things such as SSL certificates. Unless + * overridden, simply does nothing. + * + * @return True if configuration reload successful, otherwise false + */ + virtual bool reloadConfig() { return true; } + inline void setRunMode(RunMode mode); inline void setDataDirPaths(const QStringList &paths); QStringList findDataDirPaths() const; inline void disableCrashhandler(); private: + void setupEnvironment(); void registerMetaTypes(); static void handleSignal(int signal);