}
}
-void CoreSessionEventProcessor::processIrcEventKick(IrcEvent *e) {
+void CoreSessionEventProcessor::lateProcessIrcEventKick(IrcEvent *e) {
if(checkParamCount(e, 2)) {
e->network()->updateNickFromMask(e->prefix());
IrcUser *victim = e->network()->ircUser(e->params().at(1));
}
}
-void CoreSessionEventProcessor::processIrcEventNick(IrcEvent *e) {
+void CoreSessionEventProcessor::lateProcessIrcEventNick(IrcEvent *e) {
if(checkParamCount(e, 1)) {
IrcUser *ircuser = e->network()->updateNickFromMask(e->prefix());
if(!ircuser) {
}
}
-void CoreSessionEventProcessor::processIrcEventPart(IrcEvent *e) {
+void CoreSessionEventProcessor::lateProcessIrcEventPart(IrcEvent *e) {
if(checkParamCount(e, 1)) {
IrcUser *ircuser = e->network()->updateNickFromMask(e->prefix());
if(!ircuser) {
}
}
+void CoreSessionEventProcessor::processIrcEventPing(IrcEvent *e) {
+ QString param = e->params().count()? e->params().first() : QString();
+ // FIXME use events
+ coreNetwork(e)->putRawLine("PONG " + coreNetwork(e)->serverEncode(param));
+}
+
void CoreSessionEventProcessor::processIrcEventPong(IrcEvent *e) {
// the server is supposed to send back what we passed as param. and we send a timestamp
// but using quote and whatnought one can send arbitrary pings, so we have to do some sanity checks