QList<BufferId> buffers() const;
UserId userId() const;
QVariant sessionState();
+
+ public slots:
+ //! Store a piece session-wide data and distribute it to connected clients.
+ void storeSessionData(const QString &key, const QVariant &data);
+
+ public:
+ //! Retrieve a piece of session-wide data.
+ QVariant retrieveSessionData(const QString &key, const QVariant &def = QVariant());
+
CoreProxy *proxy();
public slots:
void backlogData(BufferId, QList<QVariant>, bool done);
void bufferIdUpdated(BufferId);
+ void sessionDataChanged(const QString &key);
+ void sessionDataChanged(const QString &key, const QVariant &data);
private slots:
- //void recvProxySignal(CoreSignal, QVariant arg1 = QVariant(), QVariant arg2 = QVariant(), QVariant arg3 = QVariant());
- void globalDataUpdated(UserId, QString);
void recvStatusMsgFromServer(QString msg);
void recvMessageFromServer(Message::Type, QString target, QString text, QString sender = "", quint8 flags = Message::None);
void serverConnected(QString net);
void serverDisconnected(QString net);
private:
+ UserId user;
+
CoreProxy *coreProxy;
Storage *storage;
QHash<QString, Server *> servers;
- UserId user;
+
+ VarMap sessionData;
+ QMutex mutex;
};