+ /* Message Handlers */
+ /* handleXxxxFromServer(QString prefix, QStringList params); */
+ void handleNoticeFromServer(QString, QStringList);
+ void handlePingFromServer(QString, QStringList);
+
+ void defaultHandlerForServer(QString cmd, QString prefix, QStringList params);
+
+ private:
+ QTcpSocket socket;
+ QTextStream stream;
+
+ void handleServerMsg(QString rawMsg);
+ void handleUserMsg(QString usrMsg);
+ //static inline void dispatchServerMsg(Message *msg) { msg->getServer()->handleServerMsg(msg); }
+ //static inline void dispatchUserMsg(Message *msg) { msg->getServer()->handleUserMsg(msg); }
+
+ class ParseError : public Exception {
+ public:
+ ParseError(QString cmd, QString prefix, QStringList params);
+ };
+
+ class UnknownCmdError : public Exception {
+ public:
+ UnknownCmdError(QString cmd, QString prefix, QStringList params);
+ };