X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fctcphandler.h;h=e8d1c18f7a419310c51c08ece30fc4a0928cea80;hp=35cab47d89f695dc80bc7e176d24513aba62853b;hb=32023e27e875eede980d7323c1d05b5d4cc795d8;hpb=e008cd12ef319c4b5f9fe5a8cc1524829551771d diff --git a/src/core/ctcphandler.h b/src/core/ctcphandler.h index 35cab47d..e8d1c18f 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,45 @@ #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 prefix, QString target, QString message); + void parse(Message::Type, const QString &prefix, const QString &target, const QByteArray &message); - QString dequote(QString); - QString XdelimDequote(QString); + QByteArray lowLevelQuote(const QByteArray &); + QByteArray lowLevelDequote(const QByteArray &); + QByteArray xdelimQuote(const QByteArray &); + QByteArray xdelimDequote(const QByteArray &); - QString pack(QString ctcpTag, QString message); - void query(QString bufname, QString ctcpTag, QString message); - void reply(QString bufname, QString ctcpTag, QString message); + 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); 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 handleClientinfo(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; };