+ /**
+ * Ends capability negotiation.
+ *
+ * This won't have effect if other CAP commands are in the command queue before calling this
+ * command. It should only be called when capability negotiation is complete.
+ */
+ void endCapNegotiation();
+
+ /**
+ * Queues the most recent capability set for retrying individually.
+ *
+ * Retries the most recent bundle of capabilities one at a time instead of as a group, working
+ * around the issue that IRC servers can deny a group of requested capabilities without
+ * indicating which capabilities failed.
+ *
+ * See: http://ircv3.net/specs/core/capability-negotiation-3.1.html
+ *
+ * This does NOT call CoreNetwork::sendNextCap(). Call that when ready afterwards. Does
+ * nothing if the last capability tried was individual instead of a set.
+ */
+ void retryCapsIndividually();
+