#include #include #include #include "gfx_interface.h" #include "parse.h" int GFX_INTERFACE::write_prefs(FILE *fout) { fprintf( fout, "\n" " %d\n" " %d\n" " %d\n" " %f\n" " %d\n" "", width, height, depth, fps, shared_mem_key ); return 0; } int GFX_INTERFACE::parse(FILE* fin) { char buf[256]; fgets(buf, 256, fin); if (!match_tag(buf, "")) { fprintf(stderr, "GFX_INTERFACE::parse(): bad first tag %s\n", buf); return -1; } while(fgets(buf,256,fin)) { if (match_tag(buf, "")) return 0; else if (parse_int(buf, "", width)) continue; else if (parse_int(buf, "", height)) continue; else if (parse_int(buf, "", depth)) continue; else if (parse_double(buf, "", fps)) continue; else if (parse_int(buf, "", shared_mem_key)) continue; else fprintf(stderr, "GFX_INTERFACE::parse(): unrecognized: %s\n", buf); } return -1; } int GFX_INTERFACE::open_parse_prefs( void ) { FILE *prefs; int err; prefs = fopen( "prefs.xml", "r" ); if( prefs == NULL ) return -1; rewind( prefs ); err = parse( prefs ); fclose( prefs ); return err; }