-QStringList Network::initIrcChannels() const {
- QStringList channels;
- QHash<QString, IrcChannel *>::const_iterator iter = _ircChannels.constBegin();
- while(iter != _ircChannels.constEnd()) {
- channels << iter.value()->name();
- iter++;
+void Network::initSetIrcUsersAndChannels(const QVariantMap &usersAndChannels) {
+ Q_ASSERT(proxy());
+ if(isInitialized()) {
+ qWarning() << "Network" << networkId() << "received init data for users and channels allthough there allready are known users or channels!";
+ return;
+ }
+
+ QVariantMap users = usersAndChannels.value("users").toMap();
+ QVariantMap::const_iterator userIter = users.constBegin();
+ QVariantMap::const_iterator userIterEnd = users.constEnd();
+ while(userIter != userIterEnd) {
+ newIrcUser(userIter.key(), userIter.value().toMap());
+ userIter++;
+ }
+
+ QVariantMap channels = usersAndChannels.value("channels").toMap();
+ QVariantMap::const_iterator channelIter = channels.constBegin();
+ QVariantMap::const_iterator channelIterEnd = channels.constEnd();
+ while(channelIter != channelIterEnd) {
+ newIrcChannel(channelIter.key(), channelIter.value().toMap());
+ channelIter++;