X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fctcpparser.h;h=07a909548af1beed0e92b280418f541af19c319a;hp=109159692091c03356cb841122506e9063cce11c;hb=694f9bfbf7f1af19108461c7e00d133e55082bce;hpb=283fdb2c49e5efa1d497d8c3e6f624f86d008ff8 diff --git a/src/core/ctcpparser.h b/src/core/ctcpparser.h index 10915969..07a90954 100644 --- a/src/core/ctcpparser.h +++ b/src/core/ctcpparser.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 * @@ -30,62 +30,67 @@ class CoreSession; class CtcpEvent; -class CtcpParser : public QObject { - Q_OBJECT +class CtcpParser : public QObject +{ + Q_OBJECT public: - CtcpParser(CoreSession *coreSession, QObject *parent = 0); + CtcpParser(CoreSession *coreSession, QObject *parent = 0); - inline CoreSession *coreSession() const { return _coreSession; } + inline CoreSession *coreSession() const { return _coreSession; } - void query(CoreNetwork *network, const QString &bufname, const QString &ctcpTag, const QString &message); - void reply(CoreNetwork *network, const QString &bufname, const QString &ctcpTag, const QString &message); + void query(CoreNetwork *network, const QString &bufname, const QString &ctcpTag, const QString &message); + void reply(CoreNetwork *network, const QString &bufname, const QString &ctcpTag, const QString &message); - Q_INVOKABLE void processIrcEventRawNotice(IrcEventRawMessage *event); - Q_INVOKABLE void processIrcEventRawPrivmsg(IrcEventRawMessage *event); + Q_INVOKABLE void processIrcEventRawNotice(IrcEventRawMessage *event); + Q_INVOKABLE void processIrcEventRawPrivmsg(IrcEventRawMessage *event); - Q_INVOKABLE void sendCtcpEvent(CtcpEvent *event); + Q_INVOKABLE void sendCtcpEvent(CtcpEvent *event); + +signals: + void newEvent(Event *event); protected: - inline CoreNetwork *coreNetwork(NetworkEvent *e) const { return qobject_cast(e->network()); } + inline CoreNetwork *coreNetwork(NetworkEvent *e) const { return qobject_cast(e->network()); } - // FIXME duplicates functionality in EventStringifier, maybe want to put that in something common - //! 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); + // FIXME duplicates functionality in EventStringifier, maybe want to put that in something common + //! 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); - void parse(IrcEventRawMessage *event, Message::Type msgType); + void parse(IrcEventRawMessage *event, Message::Type msgType); - QByteArray lowLevelQuote(const QByteArray &); - QByteArray lowLevelDequote(const QByteArray &); - QByteArray xdelimQuote(const QByteArray &); - QByteArray xdelimDequote(const QByteArray &); + QByteArray lowLevelQuote(const QByteArray &); + QByteArray lowLevelDequote(const QByteArray &); + QByteArray xdelimQuote(const QByteArray &); + QByteArray xdelimDequote(const QByteArray &); - QByteArray pack(const QByteArray &ctcpTag, const QByteArray &message); - void packedReply(CoreNetwork *network, const QString &bufname, const QList &replies); + QByteArray pack(const QByteArray &ctcpTag, const QByteArray &message); + void packedReply(CoreNetwork *network, const QString &bufname, const QList &replies); private: - inline QString targetDecode(IrcEventRawMessage *e, const QByteArray &msg) { return coreNetwork(e)->userDecode(e->target(), msg); } + inline QString targetDecode(IrcEventRawMessage *e, const QByteArray &msg) { return coreNetwork(e)->userDecode(e->target(), msg); } - CoreSession *_coreSession; + CoreSession *_coreSession; - struct CtcpReply { - CoreNetwork *network; - QString bufferName; - QList replies; + struct CtcpReply { + CoreNetwork *network; + QString bufferName; + QList replies; - CtcpReply() : network(0) {} - CtcpReply(CoreNetwork *net, const QString &buf) : network(net), bufferName(buf) {} - }; + CtcpReply() : network(0) {} + CtcpReply(CoreNetwork *net, const QString &buf) : network(net), bufferName(buf) {} + }; - QHash _replies; + QHash _replies; - QHash _ctcpMDequoteHash; - QHash _ctcpXDelimDequoteHash; + QHash _ctcpMDequoteHash; + QHash _ctcpXDelimDequoteHash; }; + #endif