X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fguiproxy.h;h=a068b6d12ffca990e77ef1cb278f74dc6d9ba2e2;hp=37bfd1494d2f2526c6d8e78c0dbb8a733923f000;hb=057883f768f86257c9dbefeb5ef12403b207b773;hpb=e368a1672c4f917bfa6adb52dae3b5ebfcd0db18;ds=sidebyside diff --git a/gui/guiproxy.h b/gui/guiproxy.h index 37bfd149..a068b6d1 100644 --- a/gui/guiproxy.h +++ b/gui/guiproxy.h @@ -21,10 +21,14 @@ #ifndef _GUIPROXY_H_ #define _GUIPROXY_H_ -#include "../main/proxy_common.h" +#include "proxy_common.h" +#include "message.h" +#include "global.h" #include #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 +37,51 @@ 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: - static GUIProxy * init(); + GUIProxy(); public slots: - void gsUserInput(QString); + inline void gsUserInput(QString net, QString buf, QString msg) { send(GS_USER_INPUT, net, buf, msg); } + inline void gsRequestConnect(QStringList networks) { send(GS_REQUEST_CONNECT, networks); } + void connectToCore(QString host, quint16 port); + void disconnectFromCore(); signals: - void psCoreMessage(QString); + void csCoreState(QVariant); + void csDisplayMsg(QString, QString, Message); + void csDisplayStatusMsg(QString, QString); + void csUpdateGlobalData(QString key, QVariant data); + void csGlobalDataChanged(QString key); + void csModeSet(QString, QString, QString); + void csTopicSet(QString, QString, QString); + void csSetNicks(QString, QString, QStringList); + void csNickAdded(QString, QString, VarMap); + void csNickRemoved(QString, QString); + void csNickUpdated(QString, QString, VarMap); + void csOwnNickSet(QString, QString); + + 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; };