X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=core%2Fserver.h;h=9664151b6499d3532f21fa3fb28773f4310cdedb;hb=a72defa2957b67d05fb4fb3d18b1fb6755a5908c;hp=3f2ea316e5dce79af5fcba642ddc17fbd0744c86;hpb=8fc3a498f754f34b21d2a163e2a28323dae384cb;p=quassel.git diff --git a/core/server.h b/core/server.h index 3f2ea316..9664151b 100644 --- a/core/server.h +++ b/core/server.h @@ -49,6 +49,8 @@ class Server : public QThread { QString getNetwork() { return network; } QStringList providesUserHandlers(); + enum CtcpType {CtcpQuery, CtcpReply}; + public slots: // void setServerOptions(); void sendState(); @@ -131,8 +133,11 @@ class Server : public QThread { void handleServer432(QString, QStringList); // ERR_ERRONEUSNICKNAME void handleServer433(QString, QStringList); // ERR_NICKNAMEINUSE + void handleCtcpAction(CtcpType, QString, QString, QString); + void defaultServerHandler(QString cmd, QString prefix, QStringList params); void defaultUserHandler(QString buf, QString cmd, QString msg); + void defaultCtcpHandler(CtcpType ctcptype, QString prefix, QString cmd, QString target, QString param); private: QString network; @@ -150,6 +155,11 @@ class Server : public QThread { void handleServerMsg(QString rawMsg); void handleUserInput(QString buffer, QString usrMsg); + QHash ctcpMDequoteHash; + QString ctcpDequote(QString); + QString ctcpXdelimDequote(QString); + QStringList parseCtcp(CtcpType, QString, QString, QString); + QString updateNickFromMask(QString mask); class ParseError : public Exception {