/***************************************************************************
- * Copyright (C) 2005-08 by the Quassel Project *
+ * Copyright (C) 2005-09 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
Q_OBJECT
public:
- CtcpHandler(NetworkConnection *parent = 0);
+ CtcpHandler(CoreNetwork *parent = 0);
enum CtcpType {CtcpQuery, CtcpReply};
- void parse(Message::Type, 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);
+ 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<QString, QString> ctcpMDequoteHash;
- QHash<QString, QString> ctcpXDelimDequoteHash;
-
-
+ QByteArray XDELIM;
+ QHash<QByteArray, QByteArray> ctcpMDequoteHash;
+ QHash<QByteArray, QByteArray> ctcpXDelimDequoteHash;
};