summaryrefslogtreecommitdiff
path: root/json-glib/json-parser.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-09-20 17:33:28 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-09-20 20:35:49 +0100
commitc5bfb22f964b8f1feecdc8fb29d8a74b36861d32 (patch)
tree15f05b52f97eaf01d11ea0046f8b12b982060209 /json-glib/json-parser.h
downloadjson-glib-c5bfb22f964b8f1feecdc8fb29d8a74b36861d32.tar.gz
Initial import of JSON-GLib
JSON-GLib is a JSON parser library written with GLib and GObject. JSON is the JavaScript Object Notation, and it's used to define objects and object hierarchies in a human-readable way.
Diffstat (limited to 'json-glib/json-parser.h')
-rw-r--r--json-glib/json-parser.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/json-glib/json-parser.h b/json-glib/json-parser.h
new file mode 100644
index 0000000..50d5aa5
--- /dev/null
+++ b/json-glib/json-parser.h
@@ -0,0 +1,57 @@
+#ifndef __JSON_PARSER_H__
+#define __JSON_PARSER_H__
+
+#include <json-glib/json-types.h>
+
+G_BEGIN_DECLS
+
+#define JSON_TYPE_PARSER (json_parser_get_type ())
+#define JSON_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSON_TYPE_PARSER, JsonParser))
+#define JSON_IS_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSON_TYPE_PARSER))
+#define JSON_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSON_TYPE_PARSER, JsonParserClass))
+#define JSON_IS_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSON_TYPE_PARSER))
+#define JSON_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSON_TYPE_PARSER, JsonParserClass))
+
+#define JSON_PARSER_ERROR (json_parser_error_quark ())
+
+typedef struct _JsonParser JsonParser;
+typedef struct _JsonParserPrivate JsonParserPrivate;
+typedef struct _JsonParserClass JsonParserClass;
+
+typedef enum {
+ JSON_PARSER_ERROR_INVALID_OBJECT,
+ JSON_PARSER_ERROR_INVALID_ARRAY,
+ JSON_PARSER_ERROR_INVALID_PAIR,
+
+ JSON_PARSER_ERROR_UNKNOWN
+} JsonParserError;
+
+struct _JsonParser
+{
+ /*< private >*/
+ GObject parent_instance;
+
+ JsonParserPrivate *priv;
+};
+
+struct _JsonParserClass
+{
+ GObjectClass parent_class;
+};
+
+GQuark json_parser_error_quark (void);
+GType json_parser_get_type (void) G_GNUC_CONST;
+
+JsonParser *json_parser_new (void);
+gboolean json_parser_load_from_file (JsonParser *parser,
+ const gchar *filename,
+ GError **error);
+gboolean json_parser_load_from_data (JsonParser *parser,
+ const gchar *data,
+ gsize length,
+ GError **error);
+GList * json_parser_get_toplevels (JsonParser *parser);
+
+G_END_DECLS
+
+#endif /* __JSON_PARSER_H__ */