23 #if defined (_WIN32) && !defined (__CYGWIN__) && !defined (__MINGW32__)
38 using namespace VSFileSystem;
42 void CriteriaContains::beginElement(
void *userData,
const XML_Char *name,
const XML_Char **atts )
45 if (
string( name ) ==
"Planet") {
46 for (AttributeList::const_iterator iter = attributes.begin(); iter != attributes.end(); iter++)
47 if ( (*iter).name ==
"file" )
48 static_cast< set< string >*
> (userData)->insert(
string( (*iter).value ) );
52 void CriteriaContains::endElement(
void *userData,
const XML_Char *name ) {}
54 std::set< std::string >CriteriaContains::getPlanetTypesFromXML(
const char *filename )
const
62 printf(
"CriteriaContains: file not found %s\n", filename );
65 XML_Parser parser = XML_ParserCreate( NULL );
66 XML_SetUserData( parser, &textures );
67 XML_SetElementHandler( parser, &CriteriaContains::beginElement, &CriteriaContains::endElement );
68 XML_Parse( parser, ( f.
ReadFull() ).c_str(), f.
Size(), 1 );
70 XML_ParserFree( parser );