X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fbasichandler.h;h=c276c96c3c914eb16a4e3b0cc6d5dbfc729e63d8;hp=e8f6798779d9988d8d9f8b5c1be39f886976c54d;hb=1eb21546673535f5707aa6346e8c749b928cd772;hpb=5b560ec1a01349562ac58051ca7e7fa899d4b994 diff --git a/src/core/basichandler.h b/src/core/basichandler.h index e8f67987..c276c96c 100644 --- a/src/core/basichandler.h +++ b/src/core/basichandler.h @@ -29,8 +29,9 @@ #include "message.h" -class NetworkConnection; -class Network; +#include "networkconnection.h" + +class CoreSession; class BasicHandler : public QObject { Q_OBJECT @@ -40,27 +41,47 @@ public: 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, BufferInfo::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None); - void putCmd(QString cmd, QStringList params, QString prefix = 0); - void putRawLine(QString msg); - + void displayMsg(Message::Type, BufferInfo::Type, QString target, QString text, QString sender = "", Message::Flags flags = Message::None); + void putCmd(const QString &cmd, const QList ¶ms, const QByteArray &prefix = QByteArray()); + void putRawLine(const QByteArray &msg); + protected: + 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()); + 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()); - - NetworkConnection *server; - - Network *network() const; + QGenericArgument val1 = QGenericArgument(), QGenericArgument val2 = QGenericArgument(), + QGenericArgument val3 = QGenericArgument(), QGenericArgument val4 = QGenericArgument(), + QGenericArgument val5 = QGenericArgument(), QGenericArgument val6 = QGenericArgument(), + QGenericArgument val7 = QGenericArgument(), QGenericArgument val8 = QGenericArgument()); + + + inline Network *network() const { return _networkConnection->network(); } + inline NetworkConnection *networkConnection() const { return _networkConnection; } + inline CoreSession *coreSession() const { return _networkConnection->coreSession(); } + BufferInfo::Type typeByTarget(const QString &target) const; private: const QHash &handlerHash(); QHash _handlerHash; int defaultHandler; + NetworkConnection *_networkConnection; bool initDone; }; #endif