X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.h;h=5097badaf9d4d348282530edb7024e61dbd1f94e;hp=b141f32f22a37c9082a6f7448992b1d8f110b3c3;hb=4c5b4bf5355413e3f3df3704512ff350fa062961;hpb=ce26c3770b254362c7bd1e094ba8f8bf22133653 diff --git a/src/common/quassel.h b/src/common/quassel.h index b141f32f..5097bada 100644 --- a/src/common/quassel.h +++ b/src/common/quassel.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2014 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,8 +47,7 @@ public: QString baseVersion; QString generatedVersion; QString commitHash; - uint commitDate; - QString buildDate; + QString commitDate; uint protocolVersion; // deprecated @@ -71,10 +70,16 @@ public: SaslAuthentication = 0x0002, SaslExternal = 0x0004, HideInactiveNetworks = 0x0008, - - NumFeatures = 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 @@ -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);