/***************************************************************************
- * Copyright (C) 2005-2013 by the Quassel Project *
+ * Copyright (C) 2005-2015 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
Q_INVOKABLE void processIrcEventNumeric(IrcEventNumeric *event);
- Q_INVOKABLE void processIrcEventAuthenticate(IrcEvent *event); // SASL auth
- Q_INVOKABLE void processIrcEventCap(IrcEvent *event); // CAP framework
+ Q_INVOKABLE void processIrcEventAuthenticate(IrcEvent *event); /// SASL authentication
+ Q_INVOKABLE void processIrcEventCap(IrcEvent *event); /// CAP framework negotiation
+ Q_INVOKABLE void processIrcEventAway(IrcEvent *event); /// away-notify received
Q_INVOKABLE void processIrcEventInvite(IrcEvent *event);
Q_INVOKABLE void processIrcEventJoin(IrcEvent *event);
Q_INVOKABLE void lateProcessIrcEventKick(IrcEvent *event);
Q_INVOKABLE void processKeyEvent(KeyEvent *event);
#endif
- Q_INVOKABLE void processIrcEvent001(IrcEvent *event); // RPL_WELCOME
+ Q_INVOKABLE void processIrcEvent001(IrcEventNumeric *event); // RPL_WELCOME
Q_INVOKABLE void processIrcEvent005(IrcEvent *event); // RPL_ISUPPORT
Q_INVOKABLE void processIrcEvent221(IrcEvent *event); // RPL_UMODEIS
Q_INVOKABLE void processIrcEvent250(IrcEvent *event); // RPL_STATSCONN
// key: quit message
// value: the corresponding netsplit object
QHash<Network *, QHash<QString, Netsplit *> > _netsplits;
+
+ // IRCv3 capability negotiation
+ /**
+ * Sends the next capability from the queue.
+ *
+ * During nick registration if any capabilities remain queued, this will take the next and
+ * request it. When no capabilities remain, capability negotiation is ended.
+ *
+ * @param[in,out] A network currently undergoing capability negotiation
+ */
+ void sendNextCap(Network *net);
};