X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.h;h=ae1ebd8eb501674ad91104f746c56c02f9eacab7;hb=3adffa2ce33d0918c1e9d2b075557ae2712b638e;hp=cc64d711a8891b1df23693742b79a48da74f7b55;hpb=adc18a7284e7124639fa4b354251d6b102dcf6b7;p=quassel.git diff --git a/src/core/corenetwork.h b/src/core/corenetwork.h index cc64d711..ae1ebd8e 100644 --- a/src/core/corenetwork.h +++ b/src/core/corenetwork.h @@ -141,6 +141,51 @@ public: */ inline bool useCapSASL() const { return capEnabled("sasl"); } + /** + * Gets the status of the away-notify capability. + * + * http://ircv3.net/specs/extensions/away-notify-3.1.html + * + * @returns True if away-notify is enabled, otherwise false + */ + inline bool useCapAwayNotify() const { return capEnabled("away-notify"); } + + /** + * Gets the status of the account-notify capability. + * + * http://ircv3.net/specs/extensions/account-notify-3.1.html + * + * @returns True if account-notify is enabled, otherwise false + */ + inline bool useCapAccountNotify() const { return capEnabled("account-notify"); } + + /** + * Gets the status of the extended-join capability. + * + * http://ircv3.net/specs/extensions/extended-join-3.1.html + * + * @returns True if extended-join is enabled, otherwise false + */ + inline bool useCapExtendedJoin() const { return capEnabled("extended-join"); } + + /** + * Gets the status of the userhost-in-names capability. + * + * http://ircv3.net/specs/extensions/userhost-in-names-3.2.html + * + * @returns True if userhost-in-names is enabled, otherwise false + */ + inline bool useCapUserhostInNames() const { return capEnabled("userhost-in-names"); } + + /** + * Gets the status of the multi-prefix capability. + * + * http://ircv3.net/specs/extensions/multi-prefix-3.1.html + * + * @returns True if multi-prefix is enabled, otherwise false + */ + inline bool useCapMultiPrefix() const { return capEnabled("multi-prefix"); } + public slots: virtual void setMyNick(const QString &mynick); @@ -217,6 +262,16 @@ public slots: void setAutoWhoInterval(int interval); void setAutoWhoDelay(int delay); + /** + * Appends the given channel/nick to the front of the AutoWho queue. + * + * When 'away-notify' is enabled, this will trigger an immediate AutoWho since regular + * who-cycles are disabled as per IRCv3 specifications. + * + * @param[in] channelOrNick Channel or nickname to WHO + */ + void queueAutoWhoOneshot(const QString &channelOrNick); + bool setAutoWhoDone(const QString &channel); void updateIssuedModes(const QString &requestedModes);