From: Manuel Nickschas Date: Fri, 1 Feb 2008 18:22:59 +0000 (+0000) Subject: sessionData-- X-Git-Tag: 0.2.0-alpha1~152 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=28e33cd3255a838a045303bed073f4f9c40a3af4 sessionData-- You'll need new versions of both client and core, I totally broke compatibility. --- diff --git a/src/client/client.cpp b/src/client/client.cpp index 4832549c..4b9ca515 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -79,19 +79,9 @@ void Client::init() { _bufferModel = new BufferModel(_networkModel); SignalProxy *p = signalProxy(); - p->attachSignal(this, SIGNAL(sendSessionData(const QString &, const QVariant &)), - SIGNAL(clientSessionDataChanged(const QString &, const QVariant &))); - p->attachSlot(SIGNAL(coreSessionDataChanged(const QString &, const QVariant &)), - this, SLOT(recvSessionData(const QString &, const QVariant &))); - //p->attachSlot(SIGNAL(networkConnected(uint)), - //FIXME this, SLOT(networkConnected(uint))); - //p->attachSlot(SIGNAL(networkDisconnected(uint)), - //FIXME this, SLOT(networkDisconnected(uint))); - p->attachSlot(SIGNAL(displayMsg(const Message &)), - this, SLOT(recvMessage(const Message &))); - p->attachSlot(SIGNAL(displayStatusMsg(QString, QString)), - this, SLOT(recvStatusMsg(QString, QString))); + p->attachSlot(SIGNAL(displayMsg(const Message &)), this, SLOT(recvMessage(const Message &))); + p->attachSlot(SIGNAL(displayStatusMsg(QString, QString)), this, SLOT(recvStatusMsg(QString, QString))); p->attachSlot(SIGNAL(backlogData(BufferInfo, const QVariantList &, bool)), this, SLOT(recvBacklogData(BufferInfo, const QVariantList &, bool))); p->attachSlot(SIGNAL(bufferInfoUpdated(BufferInfo)), this, SLOT(updateBufferInfo(BufferInfo))); @@ -199,35 +189,6 @@ const Network * Client::network(NetworkId networkid) { else return 0; } -/* -void Client::networkConnected(uint netid) { - // TODO: create statusBuffer / switch to networkids - //BufferInfo id = statusBufferInfo(net); - //Buffer *b = buffer(id); - //b->setActive(true); - - Network *netinfo = new Network(netid, this); - netinfo->setProxy(signalProxy()); - networkModel()->attachNetwork(netinfo); - connect(netinfo, SIGNAL(destroyed()), this, SLOT(networkDestroyed())); - _networks[netid] = netinfo; -} - -void Client::networkDisconnected(NetworkId networkid) { - if(!_networks.contains(networkid)) { - qWarning() << "Client::networkDisconnected(uint): unknown Network" << networkid; - return; -} - - Network *net = _networks.take(networkid); - if(!net->isInitialized()) { - qDebug() << "Network" << networkid << "disconnected while not yet initialized!"; - updateCoreConnectionProgress(); -} - net->deleteLater(); -} -*/ - void Client::createNetwork(const NetworkInfo &info) { emit instance()->requestCreateNetwork(info); } @@ -367,7 +328,6 @@ void Client::disconnectFromCore() { } Q_ASSERT(_identities.isEmpty()); - sessionData.clear(); layoutQueue.clear(); layoutTimer->stop(); } @@ -376,33 +336,6 @@ void Client::setCoreConfiguration(const QVariantMap &settings) { SignalProxy::writeDataToDevice(socket, settings); } -/*** Session data ***/ - -void Client::recvSessionData(const QString &key, const QVariant &data) { - sessionData[key] = data; - emit sessionDataChanged(key, data); - emit sessionDataChanged(key); -} - -void Client::storeSessionData(const QString &key, const QVariant &data) { - // Not sure if this is a good idea, but we'll try it anyway: - // Calling this function only sends a signal to core. Data is stored upon reception of the update signal, - // rather than immediately. - emit instance()->sendSessionData(key, data); -} - -QVariant Client::retrieveSessionData(const QString &key, const QVariant &def) { - if(instance()->sessionData.contains(key)) return instance()->sessionData[key]; - else return def; -} - -QStringList Client::sessionDataKeys() { - return instance()->sessionData.keys(); -} - -/*** ***/ - - /*** ***/ void Client::updateBufferInfo(BufferInfo id) { diff --git a/src/client/client.h b/src/client/client.h index 220e8c83..d6ae6c08 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -99,10 +99,6 @@ public: static void userInput(BufferInfo bufferInfo, QString message); - static void storeSessionData(const QString &key, const QVariant &data); - static QVariant retrieveSessionData(const QString &key, const QVariant &def = QVariant()); - static QStringList sessionDataKeys(); - enum ClientMode { LocalCore, RemoteCore }; signals: @@ -119,10 +115,6 @@ signals: void disconnected(); void coreConnectionStateChanged(bool); - void sessionDataChanged(const QString &key); - void sessionDataChanged(const QString &key, const QVariant &data); - void sendSessionData(const QString &key, const QVariant &data); - //! The identity with the given ID has been newly created in core and client. /** \param id The ID of the newly created identity. */ @@ -160,8 +152,6 @@ public slots: void setCoreConfiguration(const QVariantMap &settings); private slots: - void recvSessionData(const QString &key, const QVariant &data); - //void coreSocketError(QAbstractSocket::SocketError); //void networkConnected(NetworkId); @@ -209,8 +199,6 @@ private: QTimer *layoutTimer; QList layoutQueue; - QVariantMap sessionData; - friend class ClientSyncer; }; diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 84103509..1fd1efbe 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -34,18 +34,6 @@ ClientSettings::~ClientSettings() { } -QStringList ClientSettings::sessionKeys() { - return Client::sessionDataKeys(); -} - -void ClientSettings::setSessionValue(const QString &key, const QVariant &data) { - Client::storeSessionData(key, data); -} - -QVariant ClientSettings::sessionValue(const QString &key, const QVariant &def) { - return Client::retrieveSessionData(key, def); -} - /***********************************************************************************************/ CoreAccountSettings::CoreAccountSettings() : ClientSettings("CoreAccounts") { diff --git a/src/client/clientsettings.h b/src/client/clientsettings.h index c874b780..1087fce6 100644 --- a/src/client/clientsettings.h +++ b/src/client/clientsettings.h @@ -31,12 +31,6 @@ class ClientSettings : public Settings { protected: ClientSettings(QString group = "General"); - //virtual QStringList allSessionKeys() = 0; - virtual QStringList sessionKeys(); - - virtual void setSessionValue(const QString &key, const QVariant &data); - virtual QVariant sessionValue(const QString &key, const QVariant &def = QVariant()); - }; class CoreAccountSettings : public ClientSettings { diff --git a/src/client/clientsyncer.cpp b/src/client/clientsyncer.cpp index fa99f0db..d77e7af3 100644 --- a/src/client/clientsyncer.cpp +++ b/src/client/clientsyncer.cpp @@ -42,7 +42,6 @@ ClientSyncer::~ClientSyncer() { } - void ClientSyncer::coreHasData() { QVariant item; while(SignalProxy::readDataFromDevice(socket, blockSize, item)) { @@ -200,10 +199,6 @@ void ClientSyncer::sessionStateReceived(const QVariantMap &state) { void ClientSyncer::syncToCore(const QVariantMap &sessionState) { - // store sessionData - QVariantMap sessData = sessionState["SessionData"].toMap(); - foreach(QString key, sessData.keys()) Client::instance()->recvSessionData(key, sessData[key]); - // create identities foreach(QVariant vid, sessionState["Identities"].toList()) { Client::instance()->coreIdentityCreated(vid.value()); diff --git a/src/core/coresession.cpp b/src/core/coresession.cpp index 112f60c2..2677559f 100644 --- a/src/core/coresession.cpp +++ b/src/core/coresession.cpp @@ -43,9 +43,6 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) : QObje SignalProxy *p = signalProxy(); - CoreUserSettings s(user()); - sessionData = s.sessionData(); - p->attachSlot(SIGNAL(requestConnect(QString)), this, SLOT(connectToNetwork(QString))); p->attachSlot(SIGNAL(disconnectFromNetwork(NetworkId)), this, SLOT(disconnectFromNetwork(NetworkId))); // FIXME p->attachSlot(SIGNAL(sendInput(BufferInfo, QString)), this, SLOT(msgFromClient(BufferInfo, QString))); @@ -55,9 +52,6 @@ CoreSession::CoreSession(UserId uid, bool restoreState, QObject *parent) : QObje p->attachSignal(this, SIGNAL(backlogData(BufferInfo, QVariantList, bool))); p->attachSignal(this, SIGNAL(bufferInfoUpdated(BufferInfo))); - p->attachSignal(this, SIGNAL(sessionDataChanged(const QString &, const QVariant &)), SIGNAL(coreSessionDataChanged(const QString &, const QVariant &))); - p->attachSlot(SIGNAL(clientSessionDataChanged(const QString &, const QVariant &)), this, SLOT(storeSessionData(const QString &, const QVariant &))); - p->attachSignal(this, SIGNAL(identityCreated(const Identity &))); p->attachSignal(this, SIGNAL(identityRemoved(IdentityId))); p->attachSlot(SIGNAL(createIdentity(const Identity &)), this, SLOT(createIdentity(const Identity &))); @@ -141,7 +135,7 @@ void CoreSession::loadSettings() { // FIXME Migrate old settings if available... if(!_networks.count()) { - QVariantMap networks = retrieveSessionData("Networks").toMap(); + QVariantMap networks = s.sessionValue("Networks").toMap(); if(networks.keys().count()) { qWarning() << "Migrating your old network settings to the new format!"; foreach(QString netname, networks.keys()) { @@ -196,22 +190,6 @@ void CoreSession::restoreSessionState() { } } - -void CoreSession::storeSessionData(const QString &key, const QVariant &data) { - CoreUserSettings s(user()); - s.setSessionValue(key, data); - sessionData[key] = data; - emit sessionDataChanged(key, data); - emit sessionDataChanged(key); -} - -QVariant CoreSession::retrieveSessionData(const QString &key, const QVariant &def) { - QVariant data; - if(!sessionData.contains(key)) data = def; - else data = sessionData[key]; - return data; -} - void CoreSession::updateBufferInfo(UserId uid, const BufferInfo &bufinfo) { if(uid == user()) emit bufferInfoUpdated(bufinfo); } @@ -359,9 +337,7 @@ QVariant CoreSession::sessionState() { foreach(Identity *i, _identities.values()) idlist << qVariantFromValue(*i); v["Identities"] = idlist; - v["SessionData"] = sessionData; - - //v["Payload"] = QByteArray(100000000, 'a'); // for testing purposes + //v["Payload"] = QByteArray(100000000, 'a'); // for testing purposes return v; } diff --git a/src/core/coresession.h b/src/core/coresession.h index 1249a86c..9726f4c1 100644 --- a/src/core/coresession.h +++ b/src/core/coresession.h @@ -27,7 +27,7 @@ #include "message.h" class Identity; -class NetworkConnection; // FIXME get rid of +class NetworkConnection; class Network; struct NetworkInfo; class SignalProxy; @@ -49,9 +49,6 @@ public: QVariant sessionState(); - //! Retrieve a piece of session-wide data. - QVariant retrieveSessionData(const QString &key, const QVariant &def = QVariant()); - SignalProxy *signalProxy() const; void attachNetworkConnection(NetworkConnection *conn); @@ -61,9 +58,6 @@ public: void restoreSessionState(); public slots: - //! Store a piece session-wide data and distribute it to connected clients. - void storeSessionData(const QString &key, const QVariant &data); - void networkStateRequested(); void addClient(QObject *socket); @@ -119,8 +113,6 @@ signals: void backlogData(BufferInfo, QVariantList, bool done); void bufferInfoUpdated(BufferInfo); - void sessionDataChanged(const QString &key); - void sessionDataChanged(const QString &key, const QVariant &data); void scriptResult(QString result); @@ -165,8 +157,6 @@ private: QHash _networks; QHash _identities; - QVariantMap sessionData; - QScriptEngine *scriptEngine; }; diff --git a/src/core/coreusersettings.cpp b/src/core/coreusersettings.cpp index 2170b8f2..e9d4e208 100644 --- a/src/core/coreusersettings.cpp +++ b/src/core/coreusersettings.cpp @@ -74,7 +74,7 @@ void CoreUserSettings::removeNetworkInfo(NetworkId id) { removeLocalKey(QString("Networks/%1").arg(id.toInt())); } - +// FIXME remove as soon as the network data migration is gone void CoreUserSettings::setSessionState(const QVariant &data) { setLocalValue("SessionState", data); } diff --git a/version.inc b/version.inc index 366d89c5..67acc5e0 100644 --- a/version.inc +++ b/version.inc @@ -5,14 +5,14 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-02-01"; - quasselBuild = 424; + quasselBuild = 428; //! Minimum client build number the core needs - clientBuildNeeded = 358; + clientBuildNeeded = 428; clientVersionNeeded = quasselVersion; //! Minimum core build number the client needs - coreBuildNeeded = 358; + coreBuildNeeded = 428; coreVersionNeeded = quasselVersion; }