X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=network%2Fserver.h;fp=network%2Fserver.h;h=ce79fc8839293d2feb89f1095d60a952373a19bb;hp=cc46899a65fdba2a1402407777609a42f58cc6bd;hb=8b192b08f3df4ce0e7cc4a08564645c76efa688d;hpb=ffd440f541000c365ce74bce4cef14e617283b51 diff --git a/network/server.h b/network/server.h index cc46899a..ce79fc88 100644 --- a/network/server.h +++ b/network/server.h @@ -24,20 +24,75 @@ #include #include -class Server { +#define DEFAULT_PORT 6667 + +/** + * This is a server object, managing a single connection to an IRC server, handling the associated channels and so on. + * We have this run in its own thread mainly to not block other server objects or the core if something goes wrong, + * e.g. if some scripts starts running wild... + */ + +class Server : public QThread { Q_OBJECT + public: + Server(); + ~Server(); + + void run(); + + // serverState state(); + + public slots: + // void setServerOptions(); + void connectToIrc(const QString &host, quint16 port = DEFAULT_PORT); + void disconnectFromIrc(); + + void putRawLine(const QString &input /*, Buffer *source = 0 */); + + signals: + //void outputLine(const QString & /*, Buffer *target = 0 */); + void recvLine(const QString&); + + private slots: + void socketHasData(); + void socketError(QAbstractSocket::SocketError); + void socketConnected(); + void socketDisconnected(); + void socketStateChanged(QAbstractSocket::SocketState); private: + QTcpSocket *socket; + QTextStream stream; }; -class Connection : public QThread { +/* +class TcpConnection : public QThread { + Q_OBJECT + public: + void run(); + QAbstractSocket::SocketState state() const; -}; + public slots: + void connectToHost(const QString &host, quint16 port = DEFAULT_PORT); + void disconnectFromHost(); + void sendLine(const QString &); + signals: + void recvLine(QString); + void error(QAbstractSocket::SocketError); + void connected(); + void disconnected(); + void stateChanged(QAbstractSocket::SocketState); + + private: + QTcpSocket socket; + QTextStream stream; +}; +*/ #endif