int APP_CONFIGS::parse(XML_PARSER& xp, PROJECT* p) { app_configs.clear(); if (!xp.parse_start("app_config")) return ERR_XML_PARSE; while (!xp.get_tag()) { if (xp.match_tag("/app_config")) return 0; if (xp.match_tag("app")) { APP_CONFIG ac; int retval = ac.parse(xp, p); if (!retval) { app_configs.push_back(ac); } continue; } if (xp.match_tag("app_version")) { APP_VERSION_CONFIG avc; int retval = avc.parse(xp, p); if (!retval) { app_version_configs.push_back(avc); } continue; } if (log_flags.unparsed_xml) { msg_printf(p, MSG_INFO, "Unparsed line in app_info.xml: %s", xp.parsed_tag ); } xp.skip_unexpected(log_flags.unparsed_xml, "APP_CONFIGS::parse"); } return ERR_XML_PARSE; }