/******************** context.h ********************/ #ifndef _CONTEXT_H #define _CONTEXT_H #include #include "list.h" class AppContext { public: AppContext(); ~AppContext(); void * get_value(char * name); char * get_value_type(char * name); int set_value(char * name, char * type, void * buffer); void set_default_value(char *name, char * type, void * buffer); /* AppContext::set_value() and set_default_value() only implement simpliest data management function. If the name or type is in a temp buffer, it is caller's duty to do strdup() before call the set_value() or set_default_value() */ void restore_default(char * name); void restore_all(); void load(FILE *); void save(FILE *, char *); void display_values(); private: int search_name(List*, char *); List * names; List * types; List * values; List * name_default; List * type_default; List * value_default; }; #endif