Use late CoreSessionEventProcessor handler rather than early EventStringifier ones
[quassel.git] / src / core / coresessioneventprocessor.cpp
index bb2c211..7d5d244 100644 (file)
@@ -153,7 +153,7 @@ void CoreSessionEventProcessor::processIrcEventJoin(IrcEvent *e) {
   }
 }
 
-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));
@@ -270,7 +270,7 @@ void CoreSessionEventProcessor::processIrcEventMode(IrcEvent *e) {
   }
 }
 
-void CoreSessionEventProcessor::processIrcEventNick(IrcEvent *e) {
+void CoreSessionEventProcessor::lateProcessIrcEventNick(IrcEvent *e) {
   if(checkParamCount(e, 1)) {
     IrcUser *ircuser = e->network()->updateNickFromMask(e->prefix());
     if(!ircuser) {
@@ -288,7 +288,7 @@ void CoreSessionEventProcessor::processIrcEventNick(IrcEvent *e) {
   }
 }
 
-void CoreSessionEventProcessor::processIrcEventPart(IrcEvent *e) {
+void CoreSessionEventProcessor::lateProcessIrcEventPart(IrcEvent *e) {
   if(checkParamCount(e, 1)) {
     IrcUser *ircuser = e->network()->updateNickFromMask(e->prefix());
     if(!ircuser) {
@@ -302,6 +302,12 @@ void CoreSessionEventProcessor::processIrcEventPart(IrcEvent *e) {
   }
 }
 
+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