X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Feventstringifier.h;h=4bc7f1a50e17b206792ec19ca18c600e97e2ff4a;hp=e87ce65858b319bc50729561a57b39dadd3ded9d;hb=46984aca05b2d5f8dddd0c8739e60a1753078123;hpb=f9c4ee168a794add5261a7f1b6abb518f5987f8c diff --git a/src/core/eventstringifier.h b/src/core/eventstringifier.h index e87ce658..4bc7f1a5 100644 --- a/src/core/eventstringifier.h +++ b/src/core/eventstringifier.h @@ -24,6 +24,10 @@ #include #include "ircevent.h" +#include "message.h" + +class CoreSession; +class MessageEvent; //! Generates user-visible MessageEvents from incoming IrcEvents @@ -32,9 +36,42 @@ class EventStringifier : public QObject { Q_OBJECT public: - EventStringifier(QObject *parent = 0); + 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); + + //! 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 processIrcEventPong(IrcEvent *event); + Q_INVOKABLE void processIrcEventTopic(IrcEvent *event); + + // Q_INVOKABLE void processIrcEvent(IrcEvent *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); private: + void sendMessageEvent(MessageEvent *event); + + CoreSession *_coreSession; + bool _whois; };