X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoresessioneventprocessor.h;h=e0219e3f5e6aae3b564db5c54dd721309c98d6d1;hp=7b359d070ddcc2f0fac6a467155b2b8610c16f8c;hb=a5ee21025ec613dc128ceb78a7e5fcd0f353275e;hpb=712781ef33198acb7267e02ee6f8f9bfc8598d5a diff --git a/src/core/coresessioneventprocessor.h b/src/core/coresessioneventprocessor.h index 7b359d07..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: @@ -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()); }