From 9ea78a4eb0255e8cca6258e5ceb4bfd3e9e9d59e Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 12 Aug 2003 19:14:53 +0000 Subject: create ObParseInst structuer which can be then used to parse more than one file/memory thing at a time. add function to parse memory block. --- parser/parse.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'parser/parse.h') diff --git a/parser/parse.h b/parser/parse.h index 948bf4ba..e6052cfd 100644 --- a/parser/parse.h +++ b/parser/parse.h @@ -4,24 +4,28 @@ #include #include -typedef void (*ParseCallback)(xmlDocPtr doc, xmlNodePtr node, void *data); +typedef struct _ObParseInst ObParseInst; -void parse_startup(); -void parse_shutdown(); +typedef void (*ParseCallback)(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, + gpointer data); + +ObParseInst* parse_startup(); +void parse_shutdown(ObParseInst *inst); /* Loads Openbox's rc, from $HOME or $PREFIX as a fallback */ gboolean parse_load_rc(xmlDocPtr *doc, xmlNodePtr *root); -/* callbacks - must call parse_startup to use these */ - -void parse_register(const char *tag, ParseCallback func, void *data); -void parse_tree(xmlDocPtr doc, xmlNodePtr node, void *nothing); +void parse_register(ObParseInst *inst, const char *tag, + ParseCallback func, gpointer data); +void parse_tree(ObParseInst *inst, xmlDocPtr doc, xmlNodePtr node); /* open/close */ gboolean parse_load(const char *path, const char *rootname, xmlDocPtr *doc, xmlNodePtr *root); +gboolean parse_load_mem(gpointer data, guint len, const char *rootname, + xmlDocPtr *doc, xmlNodePtr *root); void parse_close(xmlDocPtr doc); -- cgit v1.2.3