X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=gui%2Fguiproxy.h;h=28fbfff4bbe1b48369d8cb586bb83fe7a8fd9c3e;hp=0c0137916c9bf1142c656591ed96f8e531d9a3ea;hb=26586e615ffe42bb2b1b307ed1324a6e3051f5da;hpb=82403b8a8777d44cbc35619e3bbd4feabfad5dc4 diff --git a/gui/guiproxy.h b/gui/guiproxy.h index 0c013791..28fbfff4 100644 --- a/gui/guiproxy.h +++ b/gui/guiproxy.h @@ -22,61 +22,83 @@ #define _GUIPROXY_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. - * The connection function is defined in main/main_gui.cpp or main/main_mono.cpp. - */ -class GUIProxy : public QObject { +class ClientProxy : public QObject { Q_OBJECT public: - GUIProxy(); + static ClientProxy *instance(); + static void destroy(); public slots: - inline void gsUserInput(QString s) { send(GS_USER_INPUT, s); } - inline void gsRequestConnect(QStringList networks) { send(GS_REQUEST_CONNECT, networks); } + inline void gsUserInput(BufferId id, QString msg) { send(GS_USER_INPUT, QVariant::fromValue(id), msg); } + inline void gsRequestConnect(QStringList networks) { send(GS_REQUEST_CONNECT, networks); } + inline void gsImportBacklog() { send(GS_IMPORT_BACKLOG); } + inline void gsRequestBacklog(BufferId id, QVariant v1, QVariant v2) { send(GS_REQUEST_BACKLOG, QVariant::fromValue(id), v1, v2); } - void connectToCore(QString host, quint16 port); - void disconnectFromCore(); + inline void gsGeneric(ClientSignal sig, QVariant v1 = QVariant(), QVariant v2 = QVariant(), QVariant v3 = QVariant()) { send(sig, v1, v2, v3); } + + //void connectToCore(QString host, quint16 port); + //void disconnectFromCore(); signals: void csCoreState(QVariant); - void csSendMessage(QString, QString, QString); - void csSendStatusMsg(QString, QString); + void csServerState(QString, QVariant); + void csServerConnected(QString); + void csServerDisconnected(QString); + void csDisplayMsg(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 csNickAdded(QString, QString, VarMap); + void csNickRemoved(QString, QString); + void csNickRenamed(QString, QString, QString); + void csNickUpdated(QString, QString, VarMap); + void csOwnNickSet(QString, QString); + void csQueryRequested(QString, QString); + void csBacklogData(BufferId, QList, bool); + void csUpdateBufferId(BufferId); - void coreConnected(); - void coreDisconnected(); - void coreConnectionError(QString errorMsg); + void csGeneric(CoreSignal, QVariant, QVariant, QVariant); - void recvPartialItem(quint32 avail, quint32 size); + //void coreConnected(); + //void coreDisconnected(); + //void coreConnectionError(QString errorMsg); - public: - void send(GUISignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); + //void recvPartialItem(quint32 avail, quint32 size); + + void send(ClientSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); + + public slots: void recv(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant()); private slots: - void updateCoreData(QString); + //void updateCoreData(QString); - void serverError(QAbstractSocket::SocketError); - void serverHasData(); + //void serverError(QAbstractSocket::SocketError); + //void serverHasData(); private: - QTcpSocket socket; - quint32 blockSize; + ClientProxy(); + static ClientProxy *instanceptr; + + //QTcpSocket socket; + //quint32 blockSize; - friend class CoreProxy; + //friend class CoreProxy; }; -extern GUIProxy *guiProxy; +//extern ClientProxy *guiProxy;