From 722296e79747610b7822c07f2edd908563456d92 Mon Sep 17 00:00:00 2001 From: alberth Date: Thu, 3 Mar 2011 20:53:09 +0000 Subject: (svn r22168) -Codechange: Move ini file IO and file error reporting to virtual functions. --- src/ini_type.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/ini_type.h') diff --git a/src/ini_type.h b/src/ini_type.h index 2bb4fea27..b84f7adf6 100644 --- a/src/ini_type.h +++ b/src/ini_type.h @@ -61,6 +61,22 @@ struct IniLoadFile { void RemoveGroup(const char *name); void LoadFromDisk(const char *filename); + + /** + * Open the INI file. + * @param filename Name of the INI file. + * @param size [out] Size of the opened file. + * @return File handle of the opened file, or \c NULL. + */ + virtual FILE *OpenFile(const char *filename, size_t *size) = 0; + + /** + * Report an error about the file contents. + * @param pre Prefix text of the \a buffer part. + * @param buffer Part of the file with the error. + * @param post Suffix text of the \a buffer part. + */ + virtual void ReportFileError(const char * const pre, const char * const buffer, const char * const post) = 0; }; /** Ini file that supports both loading and saving. */ @@ -68,6 +84,9 @@ struct IniFile : IniLoadFile { IniFile(const char * const *list_group_names = NULL); bool SaveToDisk(const char *filename); + + virtual FILE *OpenFile(const char *filename, size_t *size); + virtual void ReportFileError(const char * const pre, const char * const buffer, const char * const post); }; #endif /* INI_TYPE_H */ -- cgit v1.2.3-54-g00ecf