void Settings::EmitAppConfig(YAML::Emitter& emitter, const char* appType, const AppsConfig::AppMap& appsMap) { if (appsMap.size()) { emitter << YAML::Key << appType; emitter << YAML::Value; emitter << YAML::BeginMap; for (AppsConfig::AppMap::const_iterator appIter = appsMap.begin(); appIter != appsMap.end(); ++appIter) { AppsConfig::AppVersion::const_iterator iter = appIter.value().begin(); if (iter == appIter.value().end()) continue; const AppConfig& config = iter.value(); emitter << YAML::Key << config.m_Name.toStdString(); emitter << YAML::Value; emitter << YAML::BeginMap; emitter << YAML::Key << VERSION; emitter << YAML::Value << config.m_Version.toStdString(); emitter << YAML::Key << RUN_PATH; emitter << YAML::Value << config.m_RunPath.toStdString(); emitter << YAML::Key << INSTALL_CMD; emitter << YAML::Value << config.m_InstallCmd.toStdString(); emitter << YAML::Key << UNINSTALL_CMD; emitter << YAML::Value << config.m_UninstallCmd.toStdString(); emitter << YAML::Key << INSTALL_PARAMS; emitter << YAML::Value << config.m_InstallParams.toStdString(); emitter << YAML::Key << UNINSTALL_PARAMS; emitter << YAML::Value << config.m_UninstallParams.toStdString(); if (config.m_InstalledFiles.size()) { emitter << YAML::Key << INSTALLED_FILES; emitter << YAML::Value; emitter << YAML::BeginSeq; for (int i = 0; i < config.m_InstalledFiles.size(); i++) { emitter << config.m_InstalledFiles.at(i).toStdString(); } emitter << YAML::EndSeq; } emitter << YAML::EndMap; } emitter << YAML::EndMap; } }