X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fguiproxy.h;fp=gui%2Fguiproxy.h;h=d1f5534825ed3ffe99d33082a74ddd4acb97e727;hp=f3b48c0f7c06a233044a51a2c7a51b0d74a327f8;hb=04e21ce26ebabdde9586ca9d2a3168431e448df5;hpb=91ee3f5533474f265553a0870bb1c07a4b686906 diff --git a/gui/guiproxy.h b/gui/guiproxy.h index f3b48c0f..d1f55348 100644 --- a/gui/guiproxy.h +++ b/gui/guiproxy.h @@ -25,6 +25,7 @@ #include #include +#include /** This class is the GUI side of the proxy. The GUI connects its signals and slots to it, * and the calls are marshalled and sent to (or received and unmarshalled from) the CoreProxy. @@ -33,20 +34,42 @@ class GUIProxy : public QObject { Q_OBJECT - private: - void send(GUISignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); - void recv(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); - public: GUIProxy(); public slots: - void gsUserInput(QString); - void gsRequestConnect(QString, quint16); + inline void gsUserInput(QString s) { send(GS_USER_INPUT, s); } + inline void gsRequestConnect(QString host, quint16 port) { send(GS_REQUEST_CONNECT, host, port); } + //inline void gsPutQuasselData(QString key, QVariant data) { send(GS_PUT_QUASSEL_DATA, key, data); } + void connectToCore(QString host, quint16 port); + void disconnectFromCore(); signals: + void csCoreState(QVariant); void csCoreMessage(QString); + void csUpdateGlobalData(QString key, QVariant data); + void csGlobalDataChanged(QString key); + + void coreConnected(); + void coreDisconnected(); + void coreConnectionError(QString errorMsg); + + void recvPartialItem(quint32 avail, quint32 size); + + public: + void send(GUISignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); + void recv(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); + + private slots: + void updateCoreData(QString); + + void serverError(QAbstractSocket::SocketError); + void serverHasData(); + + private: + QTcpSocket socket; + quint32 blockSize; friend class CoreProxy;