- CoreUserSettings s(user());
- uint build = s.sessionState().toMap()["CoreBuild"].toUInt();
- if(build < 362) {
- qWarning() << qPrintable(tr("Session state does not exist or is too old!"));
- return;
- }
- QVariantList conn = s.sessionState().toMap()["ConnectedNetworks"].toList();
- foreach(QVariant v, conn) {
- NetworkId id = v.toMap()["NetworkId"].value<NetworkId>();
- // TODO remove migration code some time
- QStringList list = v.toMap()["PersistentChannels"].toStringList();
- if(!list.count()) {
- // migrate older state
- QStringList old = v.toMap()["State"].toStringList();
- foreach(QString chan, old) list << QString("%1/").arg(chan);
- }
- foreach(QString chan, list) {
- QStringList l = chan.split("/");
- network(id)->addPersistentChannel(l[0], l[1]);
- }
- qDebug() << "User" << user() << "connecting to" << network(id)->networkName();
- connectToNetwork(id);
- }
-}
-
-void CoreSession::updateBufferInfo(UserId uid, const BufferInfo &bufinfo) {
- if(uid == user()) emit bufferInfoUpdated(bufinfo);
-}
-
-// FIXME remove
-/*
-void CoreSession::connectToNetwork(QString netname, const QVariant &previousState) {
- Network *net = 0;
- foreach(Network *n, _networks.values()) {
- if(n->networkName() == netname) {
- net = n; break;
- }
- }
- if(!net) {
- qWarning() << "Connect to unknown network requested, ignoring!";
- return;
- }
- connectToNetwork(net->networkId(), previousState);
-}
-*/
-
-void CoreSession::connectToNetwork(NetworkId id) {
- Network *net = network(id);
- if(!net) {
- qWarning() << "Connect to unknown network requested! net:" << id << "user:" << user();
- return;
- }
-
- NetworkConnection *conn = networkConnection(id);
- if(!conn) {
- conn = new NetworkConnection(net, this);
- _connections[id] = conn;
- attachNetworkConnection(conn);