X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fquassel.h;h=d20fdc23c86ac5fd0b29573c70a0b3098d606918;hp=b6fc378127b718da833926e86a5573fc4a52db2c;hb=16f22647e6890d3eb8c3e94f7a0700e12fa29e44;hpb=00553e52a4bad0a6c1c3ded49ae6851b07a9498b diff --git a/src/common/quassel.h b/src/common/quassel.h index b6fc3781..d20fdc23 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,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; @@ -73,10 +70,19 @@ 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%%) + Authenticators = 0x0400, /// Whether or not the core supports auth backends. + BufferActivitySync = 0x0800, /// Sync buffer activity status + CoreSideHighlights = 0x1000, /// Core-Side highlight configuration and matching + + NumFeatures = 0x1000 }; - 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 @@ -85,7 +91,7 @@ public: virtual ~Quassel(); - static void setupBuildInfo(const QString &generated); + static void setupBuildInfo(); static inline const BuildInfo &buildInfo(); static inline RunMode runMode(); @@ -144,12 +150,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);