#include <QTcpServer>
/** This class is the Core side of the proxy. The Core connects its signals and slots to it,
- * and the calls are marshalled and sent to (or received and unmarshalled from) the GUIProxy.
+ * and the calls are marshalled and sent to (or received and unmarshalled from) the GuiProxy.
* The connection functions are defined in main/main_core.cpp or main/main_mono.cpp.
*/
class CoreProxy : public QObject {
inline void csOwnNickSet(QString net, QString nick) { send(CS_OWN_NICK_SET, net, nick); }
inline void csQueryRequested(QString net, QString nick) { send(CS_QUERY_REQUESTED, net, nick); }
inline void csBacklogData(BufferId id, QList<QVariant> msg, bool done) { send(CS_BACKLOG_DATA, QVariant::fromValue(id), msg, done); }
+ inline void csUpdateBufferId(BufferId id) { send(CS_UPDATE_BUFFERID, QVariant::fromValue(id)); }
+
+ inline void csGeneric(CoreSignal sig, QVariant v1 = QVariant(), QVariant v2 = QVariant(), QVariant v3 = QVariant()) { send(sig, v1, v2, v3); }
signals:
void gsPutGlobalData(QString, QVariant);
void gsImportBacklog();
void gsRequestBacklog(BufferId, QVariant, QVariant);
+ void gsGeneric(ClientSignal, QVariant, QVariant, QVariant);
+
void requestServerStates();
- private:
void send(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
- void recv(GUISignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
- void sendToGUI(CoreSignal, QVariant arg1, QVariant arg2, QVariant arg3);
- void processClientInit(QTcpSocket *socket, const QVariant &v);
+ public:
+ //void send(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
+ void recv(ClientSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
+
+ private:
void processClientUpdate(QTcpSocket *, QString key, QVariant data);
- private slots:
- void incomingConnection();
- void clientHasData();
- void clientDisconnected();
- void updateGlobalData(QString key);
private:
- QTcpServer server;
- QList<QTcpSocket *> clients;
- QHash<QTcpSocket *, quint32> blockSizes;
- friend class GUIProxy;
+ friend class GuiProxy;
};
-extern CoreProxy *coreProxy;
+//extern CoreProxy *coreProxy;