X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Feventstringifier.h;h=14fd29e1e9ee8f1056c77356619cd777dfa727e0;hp=eeecac91fccbd977735ec1b41650595f8cdbc9a7;hb=4ae8f86c1ce452582d6fe576956c7c1bc1460adf;hpb=68eca2c9f0ae5acbda19a6965a2630bd4649ef24 diff --git a/src/core/eventstringifier.h b/src/core/eventstringifier.h index eeecac91..14fd29e1 100644 --- a/src/core/eventstringifier.h +++ b/src/core/eventstringifier.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2010 by the Quassel Project * + * Copyright (C) 2005-2012 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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: @@ -56,10 +56,10 @@ public: Q_INVOKABLE void processIrcEventInvite(IrcEvent *event); Q_INVOKABLE void processIrcEventJoin(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventKick(IrcEvent *event); + Q_INVOKABLE void processIrcEventKick(IrcEvent *event); Q_INVOKABLE void processIrcEventMode(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventNick(IrcEvent *event); - Q_INVOKABLE void earlyProcessIrcEventPart(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); @@ -93,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, @@ -102,9 +109,11 @@ public slots: const QString &target = QString(), Message::Flags msgFlags = Message::None); +signals: + void newMessageEvent(Event *event); + private: bool checkParamCount(IrcEvent *event, int minParams); - void sendMessageEvent(MessageEvent *event); CoreSession *_coreSession; bool _whois;