bool KeyedArchive::LoadFromYamlNode(YamlNode* rootNode) { if(NULL == rootNode) { return false; } Vector<YamlNode*> &rootVector = rootNode->Get(VariantType::TYPENAME_KEYED_ARCHIVE)->AsVector(); for (Vector<YamlNode*>::const_iterator it = rootVector.begin(); it != rootVector.end(); ++it) { YamlNode * node = *it; String variableNameToArchMap = node->AsString(); VariantType *value = new VariantType(node->AsVariantType()); if(value->GetType() == VariantType::TYPE_NONE) { SafeDelete(value); continue; } objectMap[variableNameToArchMap] = value; } return true; }
bool KeyedArchive::LoadFromYamlNode(const YamlNode* rootNode) { if(NULL == rootNode) { return false; } const YamlNode * archieveNode = rootNode->Get(VariantType::TYPENAME_KEYED_ARCHIVE); if(!archieveNode) { return false; } int32 count = archieveNode->GetCount(); for (int32 i = 0; i < count; ++i) { const YamlNode * node = archieveNode->Get(i); const String &variableNameToArchMap = archieveNode->GetItemKeyName(i); VariantType *value = new VariantType(node->AsVariantType()); if(value->GetType() == VariantType::TYPE_NONE) { SafeDelete(value); continue; } objectMap[variableNameToArchMap] = value; } return true; }
DAVA::Vector<String> RecentFilesManager::GetRecentFiles() { DAVA::Vector<String> retVector; VariantType recentFilesVariant = SettingsManager::GetValue(Settings::Internal_RecentFiles); if(recentFilesVariant.GetType() == DAVA::VariantType::TYPE_KEYED_ARCHIVE) { KeyedArchive* archiveRecentFiles = recentFilesVariant.AsKeyedArchive(); DAVA::uint32 size = archiveRecentFiles->Count(); retVector.resize(size); for (DAVA::uint32 i = 0; i < size; ++i) { retVector[i] = archiveRecentFiles->GetString(Format("%d", i)); } } return retVector; }