X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=network%2Fserver.h;h=5eecb31bff89b9f728c6a542af784be05d2e181f;hb=33c58d75d27a8f72492cb71adbc43bf75281718c;hp=fcea80bb354ee9df23a8bca0e5c43491cd82cbcf;hpb=09494f0681def3c6cf585eda25b8bb236560ddac;p=quassel.git diff --git a/network/server.h b/network/server.h index fcea80bb..5eecb31b 100644 --- a/network/server.h +++ b/network/server.h @@ -24,7 +24,8 @@ #include #include -#include "messages.h" +#include "quassel.h" +#include "message.h" #define DEFAULT_PORT 6667 @@ -56,7 +57,8 @@ class Server : public QThread { signals: //void outputLine(const QString & /*, Buffer *target = 0 */); - void recvLine(const QString&); + void recvRawServerMsg(QString); + void recvLine(QString); // temp, should send a message to the GUI private slots: void socketHasData(); @@ -69,11 +71,24 @@ class Server : public QThread { QTcpSocket *socket; QTextStream stream; - static void handleServerMsg(Message *); - static void handleUserMsg(Message *); + void handleServerMsg(Message *); + QString handleUserMsg(Message *); + 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(Message *msg); + }; + + class UnknownCmdError : public Exception { + public: + UnknownCmdError(Message *msg); + }; }; +class Buffer {}; + /* class TcpConnection : public QThread { Q_OBJECT