X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Feventstringifier.h;h=1c317c861bdaaf0ec9cd9c1c25ecafdd99e198e3;hb=36ea1791352d34e34b6c6cdef02455a4c43acc17;hp=25733ad45adc001c2b9575913c40119e145516be;hpb=3ec6f311bb4fff1540a01c26069300ad17f6d134;p=quassel.git diff --git a/src/core/eventstringifier.h b/src/core/eventstringifier.h index 25733ad4..1c317c86 100644 --- a/src/core/eventstringifier.h +++ b/src/core/eventstringifier.h @@ -21,18 +21,18 @@ #ifndef EVENTSTRINGIFIER_H #define EVENTSTRINGIFIER_H -#include - +#include "basichandler.h" #include "ircevent.h" #include "message.h" class CoreSession; +class CtcpEvent; class MessageEvent; //! Generates user-visible MessageEvents from incoming IrcEvents /* replaces the string-generating parts of the old IrcServerHandler */ -class EventStringifier : public QObject { +class EventStringifier : public BasicHandler { Q_OBJECT public: @@ -47,14 +47,21 @@ public: const QString &target = QString(), Message::Flags msgFlags = Message::None); + // legacy handlers + Q_INVOKABLE void processNetworkSplitJoin(NetworkSplitEvent *event); + Q_INVOKABLE void processNetworkSplitQuit(NetworkSplitEvent *event); + //! Handle generic numeric events Q_INVOKABLE void processIrcEventNumeric(IrcEventNumeric *event); Q_INVOKABLE void processIrcEventInvite(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventKick(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventNick(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventPart(IrcEvent *event); + Q_INVOKABLE void processIrcEventJoin(IrcEvent *event); + Q_INVOKABLE void processIrcEventKick(IrcEvent *event); + Q_INVOKABLE void processIrcEventMode(IrcEvent *event); + Q_INVOKABLE void processIrcEventNick(IrcEvent *event); + Q_INVOKABLE void processIrcEventPart(IrcEvent *event); Q_INVOKABLE void processIrcEventPong(IrcEvent *event); + Q_INVOKABLE void processIrcEventQuit(IrcEvent *event); Q_INVOKABLE void processIrcEventTopic(IrcEvent *event); Q_INVOKABLE void processIrcEvent005(IrcEvent *event); // RPL_ISUPPORT @@ -70,6 +77,7 @@ public: Q_INVOKABLE void processIrcEvent319(IrcEvent *event); // RPL_WHOISCHANNELS Q_INVOKABLE void processIrcEvent322(IrcEvent *event); // RPL_LIST Q_INVOKABLE void processIrcEvent323(IrcEvent *event); // RPL_LISTEND + Q_INVOKABLE void processIrcEvent324(IrcEvent *event); // RPL_CHANNELMODEIS Q_INVOKABLE void processIrcEvent328(IrcEvent *event); // RPL_??? (channel creation time) Q_INVOKABLE void processIrcEvent329(IrcEvent *event); // RPL_??? (channel homepage) Q_INVOKABLE void processIrcEvent330(IrcEvent *event); // RPL_WHOISACCOUNT (quakenet/snircd/undernet) @@ -85,6 +93,13 @@ public: // Q_INVOKABLE void processIrcEvent(IrcEvent *event); + /* CTCP handlers */ + Q_INVOKABLE void processCtcpEvent(CtcpEvent *event); + + Q_INVOKABLE void handleCtcpAction(CtcpEvent *event); + Q_INVOKABLE void handleCtcpPing(CtcpEvent *event); + Q_INVOKABLE void defaultHandler(const QString &cmd, CtcpEvent *event); + public slots: //! Creates and sends a MessageEvent void displayMsg(NetworkEvent *event,