diff options
author | Søren Sandmann Pedersen <ssp@src.gnome.org> | 2004-11-15 23:15:59 +0000 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@src.gnome.org> | 2004-11-15 23:15:59 +0000 |
commit | b40d94ca41bbe47c84174f4bcf0a5ef542881637 (patch) | |
tree | 933c7ca56f0d13782d6cf0305b1e75ae632125e3 /sfile.h | |
parent | 6ef81657815892305c8263b33e30f90f2c110bc3 (diff) |
*** empty log message ***
Diffstat (limited to 'sfile.h')
-rw-r--r-- | sfile.h | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -0,0 +1,58 @@ +typedef struct SFormat SFormat; +typedef struct SFile SFile; + +/* - Describing Types - */ + +SFormat * sdesc_new_record (const char *name, + SFormat *content, + ...); +SFormat * sdesc_new_list (const char *name, + SFormat *content); +SFormat * sdesc_new_pointer (const char *name); +SFormat * sdesc_new_integer (const char *name); +SFormat * sdesc_new_string (const char *name); + +/* - Reading - */ +SFile * sfile_load (const char *filename, + SFormat *format, + GError **err); +void sfile_begin_get_record (SFile *file); +int sfile_begin_get_list (SFile *file); +void sfile_get_pointer (SFile *file, + gpointer *pointer); +void sfile_get_integer (SFile *file, + int *integer); +void sfile_get_string (SFile *file, + char **string); +void sfile_end_get (SFile *file, + gpointer object); + +#if 0 +/* incremental loading (worth considering at least) */ +SFileLoader *sfile_loader_new (SFormat *format); +void sfile_loader_add_text (SFileLoader *loader, + const char *text, + int len); +SFile * sfile_loader_finish (SFileLoader *loader, + GError **err); +void sfile_loader_free (SFileLoader *loader); +#endif + +/* - Writing - */ +SFile * sfile_new (SFormat *format); +void sfile_begin_add_record (SFile *file, + gpointer id); +void sfile_begin_add_list (SFile *file, + gpointer id); +void sfile_end_add (SFile *file); +void sfile_add_string (SFile *file, + const char *string); +void sfile_add_integer (SFile *file, + int integer); +void sfile_add_pointer (SFile *file, + gpointer pointer); +gboolean sfile_save (SFile *sfile, + const char *filename, + GError **err); + + |