X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.h;h=e0219e3f5e6aae3b564db5c54dd721309c98d6d1;hp=258dc44bb2967db0316a2d79924279cf698e3114;hb=5cab348de53cb3b994273c06fe69e1f799d247b4;hpb=68eca2c9f0ae5acbda19a6965a2630bd4649ef24 diff --git a/src/core/coresessioneventprocessor.h b/src/core/coresessioneventprocessor.h index 258dc44b..e0219e3f 100644 --- a/src/core/coresessioneventprocessor.h +++ b/src/core/coresessioneventprocessor.h @@ -21,15 +21,17 @@ #ifndef CORESESSIONEVENTPROCESSOR_H #define CORESESSIONEVENTPROCESSOR_H +#include "basichandler.h" #include "corenetwork.h" #include "networkevent.h" class CoreSession; +class CtcpEvent; class IrcEvent; class IrcEventNumeric; class Netsplit; -class CoreSessionEventProcessor : public QObject { +class CoreSessionEventProcessor : public BasicHandler { Q_OBJECT public: @@ -43,10 +45,11 @@ public: Q_INVOKABLE void processIrcEventCap(IrcEvent *event); // CAP framework Q_INVOKABLE void processIrcEventInvite(IrcEvent *event); Q_INVOKABLE void processIrcEventJoin(IrcEvent *event); - Q_INVOKABLE void processIrcEventKick(IrcEvent *event); + Q_INVOKABLE void lateProcessIrcEventKick(IrcEvent *event); Q_INVOKABLE void processIrcEventMode(IrcEvent *event); - Q_INVOKABLE void processIrcEventNick(IrcEvent *event); - Q_INVOKABLE void processIrcEventPart(IrcEvent *event); + Q_INVOKABLE void lateProcessIrcEventNick(IrcEvent *event); + Q_INVOKABLE void lateProcessIrcEventPart(IrcEvent *event); + Q_INVOKABLE void processIrcEventPing(IrcEvent *event); Q_INVOKABLE void processIrcEventPong(IrcEvent *event); Q_INVOKABLE void processIrcEventQuit(IrcEvent *event); Q_INVOKABLE void lateProcessIrcEventQuit(IrcEvent *event); @@ -81,6 +84,16 @@ public: // Q_INVOKABLE void processIrcEvent(IrcEvent *event); + /* CTCP handlers */ + Q_INVOKABLE void processCtcpEvent(CtcpEvent *event); + + Q_INVOKABLE void handleCtcpAction(CtcpEvent *event); + Q_INVOKABLE void handleCtcpClientinfo(CtcpEvent *event); + Q_INVOKABLE void handleCtcpPing(CtcpEvent *event); + Q_INVOKABLE void handleCtcpTime(CtcpEvent *event); + Q_INVOKABLE void handleCtcpVersion(CtcpEvent *event); + Q_INVOKABLE void defaultHandler(const QString &ctcpCmd, CtcpEvent *event); + protected: bool checkParamCount(IrcEvent *event, int minParams); inline CoreNetwork *coreNetwork(NetworkEvent *e) const { return qobject_cast(e->network()); }