diff options
Diffstat (limited to 'src/libaudcore/inifile.h')
-rw-r--r-- | src/libaudcore/inifile.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/libaudcore/inifile.h b/src/libaudcore/inifile.h index 87189c2..f9ee049 100644 --- a/src/libaudcore/inifile.h +++ b/src/libaudcore/inifile.h @@ -20,14 +20,23 @@ #ifndef LIBAUDCORE_INIFILE_H #define LIBAUDCORE_INIFILE_H -#include "vfs.h" +class VFSFile; -void inifile_parse (VFSFile * file, - void (* handle_heading) (const char * heading, void * data), - void (* handle_entry) (const char * key, const char * value, void * data), - void * data); +class IniParser +{ +public: + virtual ~IniParser () {} -bool_t inifile_write_heading (VFSFile * file, const char * heading); -bool_t inifile_write_entry (VFSFile * file, const char * key, const char * value); + void parse (VFSFile & file); + +protected: + virtual void handle_heading (const char * heading) = 0; + virtual void handle_entry (const char * key, const char * value) = 0; +}; + +bool inifile_write_heading (VFSFile & file, const char * heading) + __attribute__ ((warn_unused_result)); +bool inifile_write_entry (VFSFile & file, const char * key, const char * value) + __attribute__ ((warn_unused_result)); #endif /* LIBAUDCORE_INIFILE_H */ |