QString getNetwork() { return network; }
QStringList providesUserHandlers();
+ enum CtcpType {CtcpQuery, CtcpReply};
+
public slots:
// void setServerOptions();
void sendState();
void handleUserSay(QString, QString);
void handleUserTopic(QString, QString);
void handleUserVoice(QString, QString);
+ void handleUserMe(QString, QString);
/* void handleServer(QString, QStringList); */
void handleServerJoin(QString, QStringList);
void handleServer332(QString, QStringList); // RPL_TOPIC
void handleServer333(QString, QStringList); // Topic set by...
void handleServer353(QString, QStringList); // RPL_NAMREPLY
- void handleServer433(QString, QStringList); // RPL_NICKNAMEINUSER
+ void handleServer432(QString, QStringList); // ERR_ERRONEUSNICKNAME
+ void handleServer433(QString, QStringList); // ERR_NICKNAMEINUSE
+
+ void handleCtcpAction(CtcpType, QString, QString, QString);
+ void handleCtcpPing(CtcpType, QString, QString, QString);
+ void handleCtcpVersion(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;
void handleServerMsg(QString rawMsg);
void handleUserInput(QString buffer, QString usrMsg);
+ // CTCP Stuff
+ QString XDELIM;
+ QHash<QString, QString> ctcpMDequoteHash;
+ QHash<QString, QString> ctcpXDelimDequoteHash;
+ QString ctcpDequote(QString);
+ QString ctcpXdelimDequote(QString);
+ QStringList parseCtcp(CtcpType, QString, QString, QString);
+
+ QString ctcpPack(QString ctcpTag, QString message);
+ void ctcpQuery(QString bufname, QString ctcpTag, QString message);
+ void ctcpReply(QString bufname, QString ctcpTag, QString message);
+
QString updateNickFromMask(QString mask);
class ParseError : public Exception {