bool ICQClient::load(istream &s, string &nextPart) { ICQUser::load(s, nextPart); for (;;){ if (!strcmp(nextPart.c_str(), "[ContactList]")){ contacts.load(s, nextPart); continue; } if (!strcmp(nextPart.c_str(), "[Group]")){ ICQGroup *grp = new ICQGroup; if (grp->load(s, nextPart)){ contacts.groups.push_back(grp); }else{ delete grp; } continue; } if (!strcmp(nextPart.c_str(), "[User]")){ ICQUser *u = new ICQUser; if (u->load(s, nextPart) && u->Uin() && (u->Uin() != Uin())){ contacts.users.push_back(u); }else{ delete u; } continue; } break; } if (*EncryptedPassword.c_str() == 0) storePassword(DecryptedPassword.c_str()); setupProxy(); ICQEvent e(EVENT_INFO_CHANGED); process_event(&e); return true; }
QVariantMap CoreAccount::toVariantMap(bool forcePassword) const { QVariantMap v; v["AccountId"] = accountId().toInt(); // can't use AccountId because then comparison fails v["AccountName"] = accountName(); v["Uuid"] = uuid().toString(); v["Internal"] = isInternal(); v["User"] = user(); if (_storePassword || forcePassword) v["Password"] = password(); else v["Password"] = QString(); v["StorePassword"] = storePassword(); v["HostName"] = hostName(); v["Port"] = port(); v["UseSSL"] = useSsl(); v["ProxyType"] = proxyType(); v["ProxyUser"] = proxyUser(); v["ProxyPassword"] = proxyPassword(); v["ProxyHostName"] = proxyHostName(); v["ProxyPort"] = proxyPort(); return v; }