summaryrefslogtreecommitdiff
path: root/json-glib/json-types.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 18:01:20 +0100
committerEmmanuele Bassi <ebassi@openedhand.com>2007-10-01 18:01:20 +0100
commit228a5e4efe65995778847f48d2be43f3df988e10 (patch)
tree165f8b1dd7f0fabb926018b7d849324b938c23b2 /json-glib/json-types.h
parentbfa60e9ef9da71e3c0d171f81cd08e8eac749061 (diff)
downloadjson-glib-228a5e4efe65995778847f48d2be43f3df988e10.tar.gz
Move data types ctors and setters into the public headers
Now that we are providing a generator class we need to provide the constructors and setters for JsonNode, JsonObject and JsonArray. This also means that the json-private.h header is now useless, so we can remove it from the build and repository.
Diffstat (limited to 'json-glib/json-types.h')
-rw-r--r--json-glib/json-types.h38
1 files changed, 31 insertions, 7 deletions
diff --git a/json-glib/json-types.h b/json-glib/json-types.h
index 4663967..b92c709 100644
--- a/json-glib/json-types.h
+++ b/json-glib/json-types.h
@@ -89,15 +89,35 @@ struct _JsonNode
JsonNode *parent;
};
-JsonObject * json_node_get_object (JsonNode *node);
-JsonArray * json_node_get_array (JsonNode *node);
-void json_node_get_value (JsonNode *node,
- GValue *value);
-JsonNode * json_node_get_parent (JsonNode *node);
-G_CONST_RETURN gchar *json_node_type_name (JsonNode *node);
-
+JsonNode * json_node_new (JsonNodeType type);
+JsonNode * json_node_copy (JsonNode *node);
+void json_node_free (JsonNode *node);
+
+void json_node_set_object (JsonNode *node,
+ JsonObject *object);
+void json_node_take_object (JsonNode *node,
+ JsonObject *object);
+JsonObject * json_node_get_object (JsonNode *node);
+JsonObject * json_node_dup_object (JsonNode *node);
+void json_node_set_array (JsonNode *node,
+ JsonArray *array);
+void json_node_take_array (JsonNode *node,
+ JsonArray *array);
+JsonArray * json_node_get_array (JsonNode *node);
+JsonArray * json_node_dup_array (JsonNode *node);
+void json_node_set_value (JsonNode *node,
+ const GValue *value);
+void json_node_get_value (JsonNode *node,
+ GValue *value);
+JsonNode * json_node_get_parent (JsonNode *node);
+G_CONST_RETURN gchar *json_node_type_name (JsonNode *node);
+
+JsonObject * json_object_new (void);
JsonObject * json_object_ref (JsonObject *object);
void json_object_unref (JsonObject *object);
+void json_object_add_member (JsonObject *object,
+ const gchar *member_name,
+ JsonNode *node);
GList * json_object_get_members (JsonObject *object);
JsonNode * json_object_get_member (JsonObject *object,
const gchar *member_name);
@@ -105,8 +125,12 @@ gboolean json_object_has_member (JsonObject *object,
const gchar *member_name);
guint json_object_get_size (JsonObject *object);
+JsonArray * json_array_new (void);
+JsonArray * json_array_sized_new (guint n_elements);
JsonArray * json_array_ref (JsonArray *array);
void json_array_unref (JsonArray *array);
+void json_array_add_element (JsonArray *array,
+ JsonNode *node);
GList * json_array_get_elements (JsonArray *array);
JsonNode * json_array_get_element (JsonArray *array,
guint index_);