aboutsummaryrefslogtreecommitdiff
path: root/src/loadsave.h
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2011-11-05 22:02:54 +0100
committerThomas White <taw@bitwiz.org.uk>2011-11-05 22:02:54 +0100
commit6f29edb7b7ea789bc4bde1ee3237cca96c271202 (patch)
tree6ed2b9e0c20d1392c3c3ce0224818def5568f198 /src/loadsave.h
parentdbff61bb3053e4fe30397b48a32ec415119bcf66 (diff)
Loading mostly works
Diffstat (limited to 'src/loadsave.h')
-rw-r--r--src/loadsave.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/loadsave.h b/src/loadsave.h
index 90e2f0a..e5a1015 100644
--- a/src/loadsave.h
+++ b/src/loadsave.h
@@ -30,6 +30,15 @@
/* Forward declaration */
struct presentation;
+struct ds_node
+{
+ char *key;
+ char *value;
+ struct ds_node **children;
+ int n_children;
+ int max_children;
+};
+
/* Would be opaque if I could be bothered to write the constructor */
struct serializer
{
@@ -48,6 +57,10 @@ extern void serialize_f(struct serializer *s, const char *key, double val);
extern void serialize_b(struct serializer *s, const char *key, int val);
extern void serialize_end(struct serializer *s);
+extern int get_field_f(struct ds_node *root, const char *key, double *val);
+extern int get_field_i(struct ds_node *root, const char *key, int *val);
+extern int get_field_s(struct ds_node *root, const char *key, char **val);
+
extern int load_presentation(struct presentation *p, const char *filename);
extern int save_presentation(struct presentation *p, const char *filename);