X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fctcphandler.h;h=35847c1f53b2a53d348779f77052bd0905f50cc4;hp=b0d2eedf76be2e9773be7a458178a670764fd757;hb=ac374ec32612798c230d54665f6bce7faf416602;hpb=d6b056e936ec441258d291b7a8af7b83f9f53016 diff --git a/src/core/ctcphandler.h b/src/core/ctcphandler.h index b0d2eedf..35847c1f 100644 --- a/src/core/ctcphandler.h +++ b/src/core/ctcphandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel IRC Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -26,36 +26,39 @@ #include "basichandler.h" +class CoreListIgnoreListManager; + class CtcpHandler : public BasicHandler { Q_OBJECT public: - CtcpHandler(Server *parent = 0); + CtcpHandler(CoreNetwork *parent = 0); enum CtcpType {CtcpQuery, CtcpReply}; - QStringList parse(CtcpType, QString, QString, QString); + void parse(Message::Type, const QString &prefix, const QString &target, const QByteArray &message); + + QByteArray lowLevelQuote(const QByteArray &); + QByteArray lowLevelDequote(const QByteArray &); + QByteArray xdelimQuote(const QByteArray &); + QByteArray xdelimDequote(const QByteArray &); - QString dequote(QString); - QString XdelimDequote(QString); + QByteArray pack(const QByteArray &ctcpTag, const QByteArray &message); + void query(const QString &bufname, const QString &ctcpTag, const QString &message); + void reply(const QString &bufname, const QString &ctcpTag, const QString &message); - QString pack(QString ctcpTag, QString message); - void query(QString bufname, QString ctcpTag, QString message); - void reply(QString bufname, QString ctcpTag, QString message); - public slots: - void handleAction(CtcpType, QString prefix, QString target, QString param); - void handlePing(CtcpType, QString prefix, QString target, QString param); - void handleVersion(CtcpType, QString prefix, QString target, QString param); + void handleAction(CtcpType, const QString &prefix, const QString &target, const QString ¶m); + void handlePing(CtcpType, const QString &prefix, const QString &target, const QString ¶m); + void handleVersion(CtcpType, const QString &prefix, const QString &target, const QString ¶m); - void defaultHandler(QString cmd, CtcpType ctcptype, QString prefix, QString target, QString param); + void defaultHandler(const QString &cmd, CtcpType ctcptype, const QString &prefix, const QString &target, const QString ¶m); private: - QString XDELIM; - QHash ctcpMDequoteHash; - QHash ctcpXDelimDequoteHash; - - + QByteArray XDELIM; + QHash ctcpMDequoteHash; + QHash ctcpXDelimDequoteHash; + CoreIgnoreListManager *_ignoreListManager; };