X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fbasichandler.h;h=f641a30bddf52a804a6fdada5e394546b50ce20a;hp=db9dc787bb895fd5b55a549b55e43d7803d360f3;hb=99bb37d9938f3d88ce7551ded454146359fadc03;hpb=8699dd758516d0ded076811e8ea656adc95e69d0 diff --git a/src/core/basichandler.h b/src/core/basichandler.h index db9dc787..f641a30b 100644 --- a/src/core/basichandler.h +++ b/src/core/basichandler.h @@ -24,38 +24,62 @@ #include #include #include +#include #include #include "message.h" -class Server; -class NetworkInfo; +class NetworkConnection; +class Network; class BasicHandler : public QObject { Q_OBJECT public: - BasicHandler(Server *parent = 0); + BasicHandler(NetworkConnection *parent = 0); - QStringList providesHandlers() const; + QStringList providesHandlers(); + + QString serverDecode(const QByteArray &string); + QStringList serverDecode(const QList &stringlist); + QString channelDecode(const QString &bufferName, const QByteArray &string); + QStringList channelDecode(const QString &bufferName, const QList &stringlist); + QString userDecode(const QString &userNick, const QByteArray &string); + QStringList userDecode(const QString &userNick, const QList &stringlist); + + QByteArray serverEncode(const QString &string); + QList serverEncode(const QStringList &stringlist); + QByteArray channelEncode(const QString &bufferName, const QString &string); + QList channelEncode(const QString &bufferName, const QStringList &stringlist); + QByteArray userEncode(const QString &userNick, const QString &string); + QList userEncode(const QString &userNick, const QStringList &stringlist); signals: - void displayMsg(Message::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None); - void putCmd(QString cmd, QStringList params, QString prefix = 0); - void putRawLine(QString msg); - -protected: - virtual void handle(const QString &member, const QGenericArgument &val0 = QGenericArgument(0), - const QGenericArgument &val1 = QGenericArgument(), const QGenericArgument &val2 = QGenericArgument(), - const QGenericArgument &val3 = QGenericArgument(), const QGenericArgument &val4 = QGenericArgument(), - const QGenericArgument &val5 = QGenericArgument(), const QGenericArgument &val6 = QGenericArgument(), - const QGenericArgument &val7 = QGenericArgument(), const QGenericArgument &val8 = QGenericArgument()); - - Server *server; - + void displayMsg(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", Message::Flags flags = Message::None); + void putCmd(const QString &cmd, const QVariantList ¶ms, const QByteArray &prefix); + void putRawLine(const QByteArray &msg); protected: - NetworkInfo *networkInfo() const; + void displayMsg(Message::Type, QString target, QString text, QString sender = "", Message::Flags flags = Message::None); + void putCmd(const QString &cmd, const QByteArray ¶m, const QByteArray &prefix = QByteArray()); + void putCmd(const QString &cmd, const QList ¶ms, const QByteArray &prefix = QByteArray()); + + virtual void handle(const QString &member, QGenericArgument val0 = QGenericArgument(0), + QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), + QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), + QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), + QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument()); + + + Network * network() const; + NetworkConnection * networkConnection() const; + BufferInfo::Type typeByTarget(const QString &target) const; +private: + const QHash &handlerHash(); + QHash _handlerHash; + int defaultHandler; + NetworkConnection *_networkConnection; + bool initDone; }; #endif