X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fnetwork.h;h=a56b0935b25e85780fa927a316ac174bb4411079;hp=969c3b9b131348a71619afb2d5f76e762c8a489f;hb=0b983b0d9364e62db0b5e6cf25988ef8041a0c5d;hpb=7d30b18136eecbdf2089e5d5877c7e41c6f4bcb6 diff --git a/src/common/network.h b/src/common/network.h index 969c3b9b..a56b0935 100644 --- a/src/common/network.h +++ b/src/common/network.h @@ -39,6 +39,9 @@ #include "ircuser.h" #include "ircchannel.h" +// IRCv3 capabilities +#include "irccap.h" + // defined below! struct NetworkInfo; @@ -280,6 +283,17 @@ public : // QHash returns the default constructed value if not found, in this case, empty string // See: https://doc.qt.io/qt-4.8/qhash.html#value + /** + * Check if the given authentication mechanism is likely to be supported. + * + * This depends on the server advertising SASL support and either declaring available mechanisms + * (SASL 3.2), or just indicating something is supported (SASL 3.1). + * + * @param[in] saslMechanism Desired SASL mechanism + * @return True if mechanism supported or unknown, otherwise false + */ + bool saslMaybeSupports(const QString &saslMechanism) const; + IrcUser *newIrcUser(const QString &hostmask, const QVariantMap &initData = QVariantMap()); inline IrcUser *newIrcUser(const QByteArray &hostmask) { return newIrcUser(decodeServerString(hostmask)); } IrcUser *ircUser(QString nickname) const;