#define _COREPROXY_H_
#include "proxy_common.h"
+#include "message.h"
+#include "global.h"
-#include <QObject>
-#include <QVariant>
+#include <QtCore>
+#include <QTcpSocket>
+#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 {
Q_OBJECT
- 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());
-
public:
CoreProxy();
public slots:
- void csCoreMessage(QString);
+ inline void csUpdateGlobalData(QString key, QVariant data) { send(CS_UPDATE_GLOBAL_DATA, key, data); }
+ inline void csServerConnected(QString net) { send(CS_SERVER_CONNECTED, net); }
+ inline void csServerDisconnected(QString net) { send(CS_SERVER_DISCONNECTED, net); }
+ inline void csServerState(QString net, VarMap data) { send(CS_SERVER_STATE, net, data); }
+ inline void csDisplayMsg(Message msg) { send(CS_DISPLAY_MSG, QVariant::fromValue(msg)); }
+ inline void csDisplayStatusMsg(QString net, QString msg) { send(CS_DISPLAY_STATUS_MSG, net, msg); }
+ inline void csModeSet(QString net, QString target, QString mode) { send(CS_MODE_SET, net, target, mode); }
+ inline void csTopicSet(QString net, QString buf, QString topic) { send(CS_TOPIC_SET, net, buf, topic); }
+ inline void csNickAdded(QString net, QString nick, VarMap props) { send(CS_NICK_ADDED, net, nick, props); }
+ inline void csNickRemoved(QString net, QString nick) { send(CS_NICK_REMOVED, net, nick); }
+ inline void csNickRenamed(QString net, QString oldn, QString newn) { send(CS_NICK_RENAMED, net, oldn, newn); }
+ inline void csNickUpdated(QString net, QString nick, VarMap props) { send(CS_NICK_UPDATED, net, nick, props); }
+ 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 gsUserInput(QString);
- void gsRequestConnect(QString, quint16);
+ void gsPutGlobalData(QString, QVariant);
+ void gsUserInput(BufferId, QString);
+ void gsRequestConnect(QStringList networks);
+ void gsImportBacklog();
+ void gsRequestBacklog(BufferId, QVariant, QVariant);
+
+ void gsGeneric(ClientSignal, QVariant, QVariant, QVariant);
+
+ void requestServerStates();
+
+ void send(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
+
+ 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:
- friend class GUIProxy;
+ friend class GuiProxy;
};
-extern CoreProxy *coreProxy;
+//extern CoreProxy *coreProxy;