#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
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 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;