summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-05 11:59:44 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-05 11:59:44 +0100
commitfa9d1676da588306be5a14bcab100ad58a41b799 (patch)
tree41015117f027591dc385c63c811b2975db9d3e5a /json-glib/json-parser.h
parentaa2b31234f7cfac63b870e8d9d74e682b3121d4a (diff)
downloadjson-glib-fa9d1676da588306be5a14bcab100ad58a41b799.tar.gz
Add more signals to the JsonParser class
JsonParser should emit signals in critical places, like: start/end of the parsing process; start and end of a JsonObject and a JsonArray; completion of every member and element of a JsonObject and a JsonArray. These signals require the addition of some custom marshaller.
Diffstat (limited to 'json-glib/json-parser.h')
-rw-r--r--json-glib/json-parser.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/json-glib/json-parser.h b/json-glib/json-parser.h
index 5dfc9e1..942496d 100644
--- a/json-glib/json-parser.h
+++ b/json-glib/json-parser.h
@@ -20,7 +20,8 @@
#ifndef __JSON_PARSER_H__
#define __JSON_PARSER_H__
-#include <json-glib/json-types.h>
+#include <glib-object.h>
+#include "json-types.h"
G_BEGIN_DECLS
@@ -84,8 +85,26 @@ struct _JsonParserClass
GObjectClass parent_class;
/*< public >*/
- void (* error) (JsonParser *parser,
- const GError *error);
+ void (* parse_start) (JsonParser *parser);
+
+ void (* object_start) (JsonParser *parser);
+ void (* object_member) (JsonParser *parser,
+ JsonObject *object,
+ const gchar *member_name);
+ void (* object_end) (JsonParser *parser,
+ JsonObject *object);
+
+ void (* array_start) (JsonParser *parser);
+ void (* array_element) (JsonParser *parser,
+ JsonArray *array,
+ gint index_);
+ void (* array_end) (JsonParser *parser,
+ JsonArray *array);
+
+ void (* parse_end) (JsonParser *parser);
+
+ void (* error) (JsonParser *parser,
+ const GError *error);
/*< private >*/
/* padding for future expansion */