X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=core%2Fserver.h;h=9664151b6499d3532f21fa3fb28773f4310cdedb;hp=3f2ea316e5dce79af5fcba642ddc17fbd0744c86;hb=c254c7bec76e5014a52664b3535f3b1d6f036a40;hpb=7a2708fff6cff5329002a3a16da266be51f1a3a1 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 {