X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.h;h=e0219e3f5e6aae3b564db5c54dd721309c98d6d1;hp=b99a778dca3c2e5dc89a9ca9169f1aa0c35fcb9e;hb=77a021d6d237abc3b54277584c1bedfecf0ceda2;hpb=29a45f620131394d4b80ad8c4a58b8acb359df76 diff --git a/src/core/coresessioneventprocessor.h b/src/core/coresessioneventprocessor.h index b99a778d..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,10 @@ 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); @@ -82,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()); }