X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fctcphandler.h;h=e2f43a582331373a50adf2d319ce8a79abd99aa4;hp=b0d2eedf76be2e9773be7a458178a670764fd757;hb=a4ca568cdf68cf4a0343eb161518dc8e50cea87d;hpb=d6b056e936ec441258d291b7a8af7b83f9f53016 diff --git a/src/core/ctcphandler.h b/src/core/ctcphandler.h index b0d2eedf..e2f43a58 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-10 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -24,38 +24,44 @@ #include #include -#include "basichandler.h" +#include "corebasichandler.h" -class CtcpHandler : public BasicHandler { +class CoreListIgnoreListManager; + +class CtcpHandler : public CoreBasicHandler { 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, QString &reply); + void handlePing(CtcpType, const QString &prefix, const QString &target, const QString ¶m, QString &reply); + void handleTime(CtcpType, const QString &prefix, const QString &target, const QString ¶m, QString &reply); + void handleVersion(CtcpType, const QString &prefix, const QString &target, const QString ¶m, QString &reply); - 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, QString &reply); private: - QString XDELIM; - QHash ctcpMDequoteHash; - QHash ctcpXDelimDequoteHash; - + void packedReply(const QString &bufname, const QList &replies); + QByteArray XDELIM; + QHash ctcpMDequoteHash; + QHash ctcpXDelimDequoteHash; + CoreIgnoreListManager *_ignoreListManager; };