Event backend porting
[quassel.git] / src / core / coresessioneventprocessor.h
index 7ed9fe4..52a2b66 100644 (file)
 #ifndef CORESESSIONEVENTPROCESSOR_H
 #define CORESESSIONEVENTPROCESSOR_H
 
-#include <QObject>
+#include "corenetwork.h"
+#include "networkevent.h"
 
 class CoreSession;
-class Event;
+class IrcEvent;
+class IrcEventNumeric;
 
 class CoreSessionEventProcessor : public QObject {
   Q_OBJECT
@@ -34,7 +36,24 @@ public:
 
   inline CoreSession *coreSession() const { return _coreSession; }
 
+  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 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;