#include <QTcpSocket>
#include <QStringList>
-/** 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 net, QString buf, QString msg) { send(GS_USER_INPUT, net, buf, msg); }
+ 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 csDisplayMsg(QString, QString, Message);
+ 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 csSetNicks(QString, QString, QStringList);
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<QVariant>, 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;