YES! We finally have dynamic signals between Core and Client, meaning that arbitrary
[quassel.git] / src / core / coreproxy.h
index 071f651..e8c8e63 100644 (file)
@@ -25,9 +25,9 @@
 #include "message.h"
 #include "global.h"
 
-#include <QtCore>
-#include <QTcpSocket>
-#include <QTcpServer>
+//#include <QtCore>
+#include <QStringList>
+#include <QDebug>
 
 /** 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.
@@ -40,18 +40,18 @@ class CoreProxy : public QObject {
     CoreProxy();
 
   public slots:
-    inline void csUpdateGlobalData(QString key, QVariant data)          { send(CS_UPDATE_GLOBAL_DATA, key, data); }
+    inline void csSessionDataChanged(const QString &key, const QVariant &data) { send(CS_SESSION_DATA_CHANGED, 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 csServerState(QString net, QVariantMap 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 csNickAdded(QString net, QString nick, QVariantMap 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 csNickUpdated(QString net, QString nick, QVariantMap 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); }
@@ -60,11 +60,12 @@ class CoreProxy : public QObject {
     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 gsSessionDataChanged(const QString &, const QVariant &);
     void gsUserInput(BufferId, QString);
     void gsRequestConnect(QStringList networks);
     void gsImportBacklog();
     void gsRequestBacklog(BufferId, QVariant, QVariant);
+    void gsRequestNetworkStates();
 
     void gsGeneric(ClientSignal, QVariant, QVariant, QVariant);
 
@@ -73,20 +74,10 @@ class CoreProxy : public QObject {
     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;
 };
 
-//extern CoreProxy *coreProxy;
-
-
 
 #endif