]> icculus.org git repositories - dana/openbox.git/blob - openbox/parse.h
ECKS EM ELL
[dana/openbox.git] / openbox / parse.h
1 #ifndef __parse_h
2 #define __parse_h
3
4 #include "action.h"
5
6 #include <libxml/parser.h>
7 #include <glib.h>
8
9 typedef void (*ParseCallback)(xmlDocPtr doc, xmlNodePtr node, void *data);
10
11 void parse_startup();
12 void parse_shutdown();
13
14 void parse_register(const char *tag, ParseCallback func, void *data);
15
16 void parse_config();
17
18 void parse_tree(xmlDocPtr doc, xmlNodePtr node, void *nothing);
19
20
21 /* helpers */
22
23 xmlNodePtr parse_find_node(const char *tag, xmlNodePtr node);
24
25 char *parse_string(xmlDocPtr doc, xmlNodePtr node);
26 int parse_int(xmlDocPtr doc, xmlNodePtr node);
27 gboolean parse_bool(xmlDocPtr doc, xmlNodePtr node);
28
29 gboolean parse_contains(const char *val, xmlDocPtr doc, xmlNodePtr node);
30 gboolean parse_attr_contains(const char *val, xmlNodePtr node,
31                              const char *name);
32
33 gboolean parse_attr_string(const char *name, xmlNodePtr node, char **value);
34 gboolean parse_attr_int(const char *name, xmlNodePtr node, int *value);
35
36 Action *parse_action(xmlDocPtr doc, xmlNodePtr node);
37
38 #endif