Add support for userhost-in-names, which, if enabled, allows getting
the user/hostname information of a channel without using WHO polling.
See http://ircv3.net/specs/extensions/userhost-in-names-3.2.html
*/
inline bool useCapExtendedJoin() const { return capEnabled("extended-join"); }
*/
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"); }
+
public slots:
virtual void setMyNick(const QString &mynick);
public slots:
virtual void setMyNick(const QString &mynick);
queueCurrentCap = true;
} else if (availableCapPair.at(0).startsWith("away-notify") ||
availableCapPair.at(0).startsWith("account-notify") ||
queueCurrentCap = true;
} else if (availableCapPair.at(0).startsWith("away-notify") ||
availableCapPair.at(0).startsWith("account-notify") ||
- availableCapPair.at(0).startsWith("extended-join")) {
+ availableCapPair.at(0).startsWith("extended-join") ||
+ availableCapPair.at(0).startsWith("userhost-in-names")) {
// Always request these capabilities if available
queueCurrentCap = true;
}
// Always request these capabilities if available
queueCurrentCap = true;
}
+ // If userhost-in-names capability is enabled, the following will be
+ // in the form "nick!user@host" rather than "nick". This works without
+ // special handling as the following use nickFromHost() as needed.
+ // See: http://ircv3.net/specs/extensions/userhost-in-names-3.2.html
+
nicks << nick;
modes << mode;
}
nicks << nick;
modes << mode;
}