Q_OBJECT
public:
- Server(QString network);
+ Server(UserId uid, QString network);
~Server();
+ UserId userId() const { return user; }
// serverState state();
- bool isConnected() { return socket.state() == QAbstractSocket::ConnectedState; }
+ bool isConnected() const { return socket.state() == QAbstractSocket::ConnectedState; }
QString getNetwork() { return network; }
QStringList providesUserHandlers();
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 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:
+ UserId user;
QString network;
QTcpSocket socket;
//QHash<QString, Buffer*> buffers;
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 {