X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Feventstringifier.h;h=9d86ad016f29e255907ee78854e3b19c08afa072;hp=1c317c861bdaaf0ec9cd9c1c25ecafdd99e198e3;hb=5b686746c880e5cda6d5de3e08180ea4332ff222;hpb=36ea1791352d34e34b6c6cdef02455a4c43acc17 diff --git a/src/core/eventstringifier.h b/src/core/eventstringifier.h index 1c317c86..9d86ad01 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 * @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef EVENTSTRINGIFIER_H @@ -32,90 +32,93 @@ class MessageEvent; //! Generates user-visible MessageEvents from incoming IrcEvents /* replaces the string-generating parts of the old IrcServerHandler */ -class EventStringifier : public BasicHandler { - Q_OBJECT +class EventStringifier : public BasicHandler +{ + Q_OBJECT public: - explicit EventStringifier(CoreSession *parent); - - inline CoreSession *coreSession() const { return _coreSession; } - - MessageEvent *createMessageEvent(NetworkEvent *event, - Message::Type msgType, - const QString &msg, - const QString &sender = QString(), - 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 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 - Q_INVOKABLE void processIrcEvent301(IrcEvent *event); // RPL_AWAY - Q_INVOKABLE void processIrcEvent305(IrcEvent *event); // RPL_UNAWAY - Q_INVOKABLE void processIrcEvent306(IrcEvent *event); // RPL_NOWAWAY - Q_INVOKABLE void processIrcEvent311(IrcEvent *event); // RPL_WHOISUSER - Q_INVOKABLE void processIrcEvent312(IrcEvent *event); // RPL_WHOISSERVER - Q_INVOKABLE void processIrcEvent314(IrcEvent *event); // RPL_WHOWASUSER - Q_INVOKABLE void processIrcEvent315(IrcEvent *event); // RPL_ENDOFWHO - Q_INVOKABLE void processIrcEvent317(IrcEvent *event); // RPL_WHOISIDLE - Q_INVOKABLE void processIrcEvent318(IrcEvent *event); // RPL_ENDOFWHOIS - 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) - Q_INVOKABLE void processIrcEvent331(IrcEvent *event); // RPL_NOTOPIC - Q_INVOKABLE void processIrcEvent332(IrcEvent *event); // RPL_TOPIC - Q_INVOKABLE void processIrcEvent333(IrcEvent *event); // RPL_??? (topic set by) - Q_INVOKABLE void processIrcEvent341(IrcEvent *event); // RPL_INVITING - Q_INVOKABLE void processIrcEvent352(IrcEvent *event); // RPL_WHOREPLY - Q_INVOKABLE void processIrcEvent369(IrcEvent *event); // RPL_ENDOFWHOWAS - Q_INVOKABLE void processIrcEvent432(IrcEvent *event); // ERR_ERRONEUSNICKNAME - Q_INVOKABLE void processIrcEvent433(IrcEvent *event); // ERR_NICKNAMEINUSE - Q_INVOKABLE void processIrcEvent437(IrcEvent *event); // ERR_UNAVAILRESOURCE - - // 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); + explicit EventStringifier(CoreSession *parent); + + inline CoreSession *coreSession() const { return _coreSession; } + + MessageEvent *createMessageEvent(NetworkEvent *event, + Message::Type msgType, + const QString &msg, + const QString &sender = QString(), + 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 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 + Q_INVOKABLE void processIrcEvent301(IrcEvent *event); // RPL_AWAY + Q_INVOKABLE void processIrcEvent305(IrcEvent *event); // RPL_UNAWAY + Q_INVOKABLE void processIrcEvent306(IrcEvent *event); // RPL_NOWAWAY + Q_INVOKABLE void processIrcEvent311(IrcEvent *event); // RPL_WHOISUSER + Q_INVOKABLE void processIrcEvent312(IrcEvent *event); // RPL_WHOISSERVER + Q_INVOKABLE void processIrcEvent314(IrcEvent *event); // RPL_WHOWASUSER + Q_INVOKABLE void processIrcEvent315(IrcEvent *event); // RPL_ENDOFWHO + Q_INVOKABLE void processIrcEvent317(IrcEvent *event); // RPL_WHOISIDLE + Q_INVOKABLE void processIrcEvent318(IrcEvent *event); // RPL_ENDOFWHOIS + 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) + Q_INVOKABLE void processIrcEvent331(IrcEvent *event); // RPL_NOTOPIC + Q_INVOKABLE void processIrcEvent332(IrcEvent *event); // RPL_TOPIC + Q_INVOKABLE void processIrcEvent333(IrcEvent *event); // RPL_??? (topic set by) + Q_INVOKABLE void processIrcEvent341(IrcEvent *event); // RPL_INVITING + Q_INVOKABLE void processIrcEvent352(IrcEvent *event); // RPL_WHOREPLY + Q_INVOKABLE void processIrcEvent369(IrcEvent *event); // RPL_ENDOFWHOWAS + Q_INVOKABLE void processIrcEvent432(IrcEvent *event); // ERR_ERRONEUSNICKNAME + Q_INVOKABLE void processIrcEvent433(IrcEvent *event); // ERR_NICKNAMEINUSE + Q_INVOKABLE void processIrcEvent437(IrcEvent *event); // ERR_UNAVAILRESOURCE + + // 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, - Message::Type msgType, - const QString &msg, - const QString &sender = QString(), - const QString &target = QString(), - Message::Flags msgFlags = Message::None); + //! Creates and sends a MessageEvent + void displayMsg(NetworkEvent *event, + Message::Type msgType, + const QString &msg, + const QString &sender = QString(), + const QString &target = QString(), + Message::Flags msgFlags = Message::None); -private: - bool checkParamCount(IrcEvent *event, int minParams); - void sendMessageEvent(MessageEvent *event); +signals: + void newMessageEvent(Event *event); - CoreSession *_coreSession; - bool _whois; +private: + bool checkParamCount(IrcEvent *event, int minParams); + CoreSession *_coreSession; + bool _whois; }; + #endif