Event backend porting, mostly WHOIS-related stuff
[quassel.git] / src / core / coresessioneventprocessor.h
index fa647d0..edb4b2d 100644 (file)
 #ifndef CORESESSIONEVENTPROCESSOR_H
 #define CORESESSIONEVENTPROCESSOR_H
 
-#include <QObject>
+#include "corenetwork.h"
+#include "networkevent.h"
 
 class CoreSession;
+class IrcEvent;
 class IrcEventNumeric;
 
 class CoreSessionEventProcessor : public QObject {
@@ -36,7 +38,36 @@ public:
 
   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 processIrcEventInvite(IrcEvent *event);
+  Q_INVOKABLE void processIrcEventKick(IrcEvent *event);
+  Q_INVOKABLE void processIrcEventNick(IrcEvent *event);
+  Q_INVOKABLE void processIrcEventPart(IrcEvent *event);
+  Q_INVOKABLE void processIrcEventPong(IrcEvent *event);
+  Q_INVOKABLE void processIrcEventTopic(IrcEvent *event);
+
+  Q_INVOKABLE void processIrcEvent001(IrcEvent *event);            // RPL_WELCOME
+  Q_INVOKABLE void processIrcEvent221(IrcEvent *event);            // RPL_UMODEIS
+  Q_INVOKABLE void processIrcEvent250(IrcEvent *event);            // RPL_STATSCONN
+  Q_INVOKABLE void processIrcEvent265(IrcEvent *event);            // RPL_LOCALUSERS
+  Q_INVOKABLE void processIrcEvent266(IrcEvent *event);            // RPL_GLOBALUSERS
+  Q_INVOKABLE void processIrcEvent301(IrcEvent *event);            // RPL_AWAY
+  Q_INVOKABLE void processIrcEvent305(IrcEvent *event);            // RPL_UNAWAY
+  Q_INVOKABLE void processIrcEvent306(IrcEvent *event);            // RPL_NOWAWAY
+  Q_INVOKABLE void processIrcEvent307(IrcEvent *event);            // RPL_WHOISSERVICE
+  Q_INVOKABLE void processIrcEvent310(IrcEvent *event);            // RPL_SUSERHOST
+  Q_INVOKABLE void processIrcEvent311(IrcEvent *event);            // RPL_WHOISUSER
+  Q_INVOKABLE void processIrcEvent312(IrcEvent *event);            // RPL_WHOISSERVER
+  Q_INVOKABLE void processIrcEvent313(IrcEvent *event);            // RPL_WHOISOPERATOR
+  Q_INVOKABLE void processIrcEvent315(IrcEvent *event);            // RPL_ENDOFWHO
+  Q_INVOKABLE void processIrcEvent317(IrcEvent *event);            // RPL_WHOISIDLE
+
+  // Q_INVOKABLE void processIrcEvent(IrcEvent *event);
+
 protected:
+  bool checkParamCount(IrcEvent *event, int minParams);
+  inline CoreNetwork *coreNetwork(NetworkEvent *e) const { return qobject_cast<CoreNetwork *>(e->network()); }
 
 private:
   CoreSession *_coreSession;