add JSON-GLib bindings, patch by Ali Sabil
authorJuerg Billeter <j@bitron.ch>
Sun, 3 Feb 2008 22:52:40 +0000 (22:52 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 3 Feb 2008 22:52:40 +0000 (22:52 +0000)
2008-02-03  Juerg Billeter  <j@bitron.ch>

* vapi/Makefile.am, vapi/json-glib-1.0.vapi,
  vapi/packages/json-glib-1.0/: add JSON-GLib bindings,
  patch by Ali Sabil

svn path=/trunk/; revision=960

ChangeLog
vapi/Makefile.am
vapi/json-glib-1.0.vapi [new file with mode: 0644]
vapi/packages/json-glib-1.0/json-glib-1.0.files [new file with mode: 0644]
vapi/packages/json-glib-1.0/json-glib-1.0.gi [new file with mode: 0644]
vapi/packages/json-glib-1.0/json-glib-1.0.metadata [new file with mode: 0644]
vapi/packages/json-glib-1.0/json-glib-1.0.namespace [new file with mode: 0644]

index b7e7539..8caef33 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2008-02-03  Jürg Billeter  <j@bitron.ch>
 
+       * vapi/Makefile.am, vapi/json-glib-1.0.vapi,
+         vapi/packages/json-glib-1.0/: add JSON-GLib bindings,
+         patch by Ali Sabil
+
+2008-02-03  Jürg Billeter  <j@bitron.ch>
+
        * vala/Makefile.am, vala/valacodecontext.vala,
          compiler/valacompiler.vala, vapigen/valavapigen.vala: move
          get_package_path method to libvala
index ae631b8..20616b7 100644 (file)
@@ -70,6 +70,7 @@ dist_vapi_DATA = \
        hal.vapi \
        hildon-1.deps \
        hildon-1.vapi \
+       json-glib-1.0.vapi \
        libglade-2.0.deps \
        libglade-2.0.vapi \
        libgnome-2.0.vapi \
diff --git a/vapi/json-glib-1.0.vapi b/vapi/json-glib-1.0.vapi
new file mode 100644 (file)
index 0000000..533693e
--- /dev/null
@@ -0,0 +1,122 @@
+/* json-glib-1.0.vapi generated by lt-vapigen, do not modify. */
+
+[CCode (cprefix = "Json", lower_case_cprefix = "json_")]
+namespace Json {
+       [CCode (cprefix = "JSON_NODE_", cheader_filename = "json-glib/json-glib.h")]
+       public enum NodeType {
+               OBJECT,
+               ARRAY,
+               VALUE,
+               NULL,
+       }
+       [CCode (cprefix = "JSON_PARSER_ERROR_", cheader_filename = "json-glib/json-glib.h")]
+       public enum ParserError {
+               PARSE,
+               UNKNOWN,
+       }
+       [CCode (cprefix = "JSON_TOKEN_", cheader_filename = "json-glib/json-glib.h")]
+       public enum TokenType {
+               INVALID,
+               TRUE,
+               FALSE,
+               NULL,
+               VAR,
+               LAST,
+       }
+       [CCode (ref_function = "json_array_ref", unref_function = "json_array_unref", cheader_filename = "json-glib/json-glib.h")]
+       public class Array : GLib.Boxed {
+               public void add_element (Json.Node node);
+               public weak Json.Node get_element (uint index_);
+               public weak GLib.List get_elements ();
+               public uint get_length ();
+               public Array ();
+               public void remove_element (uint index_);
+               public static weak Json.Array sized_new (uint n_elements);
+       }
+       [CCode (copy_function = "json_node_copy", cheader_filename = "json-glib/json-glib.h")]
+       public class Node : GLib.Boxed {
+               public Json.NodeType type;
+               public pointer data;
+               public weak Json.Node parent;
+               public weak Json.Node copy ();
+               public weak Json.Array dup_array ();
+               public weak Json.Object dup_object ();
+               public weak string dup_string ();
+               public weak Json.Array get_array ();
+               public bool get_boolean ();
+               public double get_double ();
+               public int get_int ();
+               public weak Json.Object get_object ();
+               public weak Json.Node get_parent ();
+               public weak string get_string ();
+               public void get_value (GLib.Value value);
+               public GLib.Type get_value_type ();
+               public Node (Json.NodeType type);
+               public void set_array (Json.Array array);
+               public void set_boolean (bool value);
+               public void set_double (double value);
+               public void set_int (int value);
+               public void set_object (Json.Object object);
+               public void set_string (string value);
+               public void set_value (GLib.Value value);
+               public void take_array (Json.Array array);
+               public void take_object (Json.Object object);
+               public weak string type_name ();
+       }
+       [CCode (ref_function = "json_object_ref", unref_function = "json_object_unref", cheader_filename = "json-glib/json-glib.h")]
+       public class Object : GLib.Boxed {
+               public void add_member (string member_name, Json.Node node);
+               public weak Json.Node get_member (string member_name);
+               public weak GLib.List get_members ();
+               public uint get_size ();
+               public weak GLib.List get_values ();
+               public bool has_member (string member_name);
+               public Object ();
+               public void remove_member (string member_name);
+       }
+       [CCode (cheader_filename = "json-glib/json-glib.h")]
+       public class Generator : GLib.Object {
+               public Generator ();
+               public void set_root (Json.Node node);
+               public weak string to_data (ulong length);
+               public bool to_file (string filename) throws GLib.Error;
+               [NoAccessorMethod]
+               public weak uint indent { get; set; }
+               [NoAccessorMethod]
+               public weak bool pretty { get; set; }
+               [NoAccessorMethod]
+               public weak Json.Node root { get; set; }
+       }
+       [CCode (cheader_filename = "json-glib/json-glib.h")]
+       public class Parser : GLib.Object {
+               public static GLib.Quark error_quark ();
+               public uint get_current_line ();
+               public uint get_current_pos ();
+               public weak Json.Node get_root ();
+               public bool has_assignment (string variable_name);
+               public bool load_from_data (string data, ulong length) throws GLib.Error;
+               public bool load_from_file (string filename) throws GLib.Error;
+               public Parser ();
+               public signal void array_element (Json.Array array, int index_);
+               public signal void array_end (Json.Array array);
+               public signal void array_start ();
+               public signal void error (pointer error);
+               public signal void object_end (Json.Object object);
+               public signal void object_member (Json.Object object, string member_name);
+               public signal void object_start ();
+               public signal void parse_end ();
+               public signal void parse_start ();
+       }
+       [CCode (cheader_filename = "json-glib/json-glib.h")]
+       public interface Serializable {
+               public abstract bool deserialize_property (string property_name, GLib.Value value, GLib.ParamSpec pspec, Json.Node property_node);
+               public abstract weak Json.Node serialize_property (string property_name, GLib.Value value, GLib.ParamSpec pspec);
+       }
+       public const int MAJOR_VERSION;
+       public const int MICRO_VERSION;
+       public const int MINOR_VERSION;
+       public const int VERSION_HEX;
+       public const string VERSION_S;
+       public static weak GLib.Object construct_gobject (GLib.Type gtype, string data, ulong length) throws GLib.Error;
+       public static weak string serialize_gobject (GLib.Object gobject, ulong length);
+}
diff --git a/vapi/packages/json-glib-1.0/json-glib-1.0.files b/vapi/packages/json-glib-1.0/json-glib-1.0.files
new file mode 100644 (file)
index 0000000..cd5ba23
--- /dev/null
@@ -0,0 +1,2 @@
+include/json-glib-1.0/json-glib
+lib/libjson-glib-1.0.so
diff --git a/vapi/packages/json-glib-1.0/json-glib-1.0.gi b/vapi/packages/json-glib-1.0/json-glib-1.0.gi
new file mode 100644 (file)
index 0000000..2250edb
--- /dev/null
@@ -0,0 +1,510 @@
+<?xml version="1.0"?>
+<api version="1.0">
+       <namespace name="Json">
+               <function name="construct_gobject" symbol="json_construct_gobject">
+                       <return-type type="GObject*"/>
+                       <parameters>
+                               <parameter name="gtype" type="GType"/>
+                               <parameter name="data" type="gchar*"/>
+                               <parameter name="length" type="gsize"/>
+                               <parameter name="error" type="GError**"/>
+                       </parameters>
+               </function>
+               <function name="serialize_gobject" symbol="json_serialize_gobject">
+                       <return-type type="gchar*"/>
+                       <parameters>
+                               <parameter name="gobject" type="GObject*"/>
+                               <parameter name="length" type="gsize*"/>
+                       </parameters>
+               </function>
+               <boxed name="JsonArray" type-name="JsonArray" get-type="json_array_get_type">
+                       <method name="add_element" symbol="json_array_add_element">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_element" symbol="json_array_get_element">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                                       <parameter name="index_" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="get_elements" symbol="json_array_get_elements">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_length" symbol="json_array_get_length">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="json_array_new">
+                               <return-type type="JsonArray*"/>
+                       </constructor>
+                       <method name="ref" symbol="json_array_ref">
+                               <return-type type="JsonArray*"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+                       <method name="remove_element" symbol="json_array_remove_element">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                                       <parameter name="index_" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="sized_new" symbol="json_array_sized_new">
+                               <return-type type="JsonArray*"/>
+                               <parameters>
+                                       <parameter name="n_elements" type="guint"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="json_array_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+               </boxed>
+               <boxed name="JsonNode" type-name="JsonNode" get-type="json_node_get_type">
+                       <method name="copy" symbol="json_node_copy">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="dup_array" symbol="json_node_dup_array">
+                               <return-type type="JsonArray*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="dup_object" symbol="json_node_dup_object">
+                               <return-type type="JsonObject*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="dup_string" symbol="json_node_dup_string">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="free" symbol="json_node_free">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_array" symbol="json_node_get_array">
+                               <return-type type="JsonArray*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_boolean" symbol="json_node_get_boolean">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_double" symbol="json_node_get_double">
+                               <return-type type="gdouble"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_int" symbol="json_node_get_int">
+                               <return-type type="gint"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_object" symbol="json_node_get_object">
+                               <return-type type="JsonObject*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_parent" symbol="json_node_get_parent">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_string" symbol="json_node_get_string">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_value" symbol="json_node_get_value">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="GValue*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_value_type" symbol="json_node_get_value_type">
+                               <return-type type="GType"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="json_node_new">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="type" type="JsonNodeType"/>
+                               </parameters>
+                       </constructor>
+                       <method name="set_array" symbol="json_node_set_array">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_boolean" symbol="json_node_set_boolean">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="gboolean"/>
+                               </parameters>
+                       </method>
+                       <method name="set_double" symbol="json_node_set_double">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="gdouble"/>
+                               </parameters>
+                       </method>
+                       <method name="set_int" symbol="json_node_set_int">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="gint"/>
+                               </parameters>
+                       </method>
+                       <method name="set_object" symbol="json_node_set_object">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_string" symbol="json_node_set_string">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_value" symbol="json_node_set_value">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="value" type="GValue*"/>
+                               </parameters>
+                       </method>
+                       <method name="take_array" symbol="json_node_take_array">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </method>
+                       <method name="take_object" symbol="json_node_take_object">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="type_name" symbol="json_node_type_name">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <field name="type" type="JsonNodeType"/>
+                       <field name="data" type="gpointer"/>
+                       <field name="parent" type="JsonNode*"/>
+               </boxed>
+               <boxed name="JsonObject" type-name="JsonObject" get-type="json_object_get_type">
+                       <method name="add_member" symbol="json_object_add_member">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                                       <parameter name="member_name" type="gchar*"/>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_member" symbol="json_object_get_member">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                                       <parameter name="member_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_members" symbol="json_object_get_members">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_size" symbol="json_object_get_size">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_values" symbol="json_object_get_values">
+                               <return-type type="GList*"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="has_member" symbol="json_object_has_member">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                                       <parameter name="member_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="json_object_new">
+                               <return-type type="JsonObject*"/>
+                       </constructor>
+                       <method name="ref" symbol="json_object_ref">
+                               <return-type type="JsonObject*"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+                       <method name="remove_member" symbol="json_object_remove_member">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                                       <parameter name="member_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="json_object_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </method>
+               </boxed>
+               <enum name="JsonNodeType">
+                       <member name="JSON_NODE_OBJECT" value="0"/>
+                       <member name="JSON_NODE_ARRAY" value="1"/>
+                       <member name="JSON_NODE_VALUE" value="2"/>
+                       <member name="JSON_NODE_NULL" value="3"/>
+               </enum>
+               <enum name="JsonParserError">
+                       <member name="JSON_PARSER_ERROR_PARSE" value="0"/>
+                       <member name="JSON_PARSER_ERROR_UNKNOWN" value="1"/>
+               </enum>
+               <enum name="JsonTokenType">
+                       <member name="JSON_TOKEN_INVALID" value="270"/>
+                       <member name="JSON_TOKEN_TRUE" value="271"/>
+                       <member name="JSON_TOKEN_FALSE" value="272"/>
+                       <member name="JSON_TOKEN_NULL" value="273"/>
+                       <member name="JSON_TOKEN_VAR" value="274"/>
+                       <member name="JSON_TOKEN_LAST" value="275"/>
+               </enum>
+               <object name="JsonGenerator" parent="GObject" type-name="JsonGenerator" get-type="json_generator_get_type">
+                       <constructor name="new" symbol="json_generator_new">
+                               <return-type type="JsonGenerator*"/>
+                       </constructor>
+                       <method name="set_root" symbol="json_generator_set_root">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="generator" type="JsonGenerator*"/>
+                                       <parameter name="node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="to_data" symbol="json_generator_to_data">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="generator" type="JsonGenerator*"/>
+                                       <parameter name="length" type="gsize*"/>
+                               </parameters>
+                       </method>
+                       <method name="to_file" symbol="json_generator_to_file">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="generator" type="JsonGenerator*"/>
+                                       <parameter name="filename" type="gchar*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <property name="indent" type="guint" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <property name="pretty" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <property name="root" type="JsonNode*" readable="1" writable="1" construct="0" construct-only="0"/>
+               </object>
+               <object name="JsonParser" parent="GObject" type-name="JsonParser" get-type="json_parser_get_type">
+                       <method name="error_quark" symbol="json_parser_error_quark">
+                               <return-type type="GQuark"/>
+                       </method>
+                       <method name="get_current_line" symbol="json_parser_get_current_line">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_current_pos" symbol="json_parser_get_current_pos">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_root" symbol="json_parser_get_root">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </method>
+                       <method name="has_assignment" symbol="json_parser_has_assignment">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="variable_name" type="gchar**"/>
+                               </parameters>
+                       </method>
+                       <method name="load_from_data" symbol="json_parser_load_from_data">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="data" type="gchar*"/>
+                                       <parameter name="length" type="gsize"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="load_from_file" symbol="json_parser_load_from_file">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="filename" type="gchar*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="json_parser_new">
+                               <return-type type="JsonParser*"/>
+                       </constructor>
+                       <signal name="array-element" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="array" type="JsonArray*"/>
+                                       <parameter name="index_" type="gint"/>
+                               </parameters>
+                       </signal>
+                       <signal name="array-end" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="array" type="JsonArray*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="array-start" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="error" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="error" type="gpointer"/>
+                               </parameters>
+                       </signal>
+                       <signal name="object-end" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="object" type="JsonObject*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="object-member" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                                       <parameter name="object" type="JsonObject*"/>
+                                       <parameter name="member_name" type="char*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="object-start" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="parse-end" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </signal>
+                       <signal name="parse-start" when="LAST">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="parser" type="JsonParser*"/>
+                               </parameters>
+                       </signal>
+               </object>
+               <interface name="JsonSerializable" type-name="JsonSerializable" get-type="json_serializable_get_type">
+                       <method name="deserialize_property" symbol="json_serializable_deserialize_property">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="serializable" type="JsonSerializable*"/>
+                                       <parameter name="property_name" type="gchar*"/>
+                                       <parameter name="value" type="GValue*"/>
+                                       <parameter name="pspec" type="GParamSpec*"/>
+                                       <parameter name="property_node" type="JsonNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="serialize_property" symbol="json_serializable_serialize_property">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="serializable" type="JsonSerializable*"/>
+                                       <parameter name="property_name" type="gchar*"/>
+                                       <parameter name="value" type="GValue*"/>
+                                       <parameter name="pspec" type="GParamSpec*"/>
+                               </parameters>
+                       </method>
+                       <vfunc name="deserialize_property">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="serializable" type="JsonSerializable*"/>
+                                       <parameter name="property_name" type="gchar*"/>
+                                       <parameter name="value" type="GValue*"/>
+                                       <parameter name="pspec" type="GParamSpec*"/>
+                                       <parameter name="property_node" type="JsonNode*"/>
+                               </parameters>
+                       </vfunc>
+                       <vfunc name="serialize_property">
+                               <return-type type="JsonNode*"/>
+                               <parameters>
+                                       <parameter name="serializable" type="JsonSerializable*"/>
+                                       <parameter name="property_name" type="gchar*"/>
+                                       <parameter name="value" type="GValue*"/>
+                                       <parameter name="pspec" type="GParamSpec*"/>
+                               </parameters>
+                       </vfunc>
+               </interface>
+               <constant name="JSON_MAJOR_VERSION" type="int" value="0"/>
+               <constant name="JSON_MICRO_VERSION" type="int" value="0"/>
+               <constant name="JSON_MINOR_VERSION" type="int" value="4"/>
+               <constant name="JSON_VERSION_HEX" type="int" value="0"/>
+               <constant name="JSON_VERSION_S" type="char*" value="0.4.0"/>
+       </namespace>
+</api>
diff --git a/vapi/packages/json-glib-1.0/json-glib-1.0.metadata b/vapi/packages/json-glib-1.0/json-glib-1.0.metadata
new file mode 100644 (file)
index 0000000..ffb724d
--- /dev/null
@@ -0,0 +1 @@
+Json cheader_filename="json-glib/json-glib.h"
diff --git a/vapi/packages/json-glib-1.0/json-glib-1.0.namespace b/vapi/packages/json-glib-1.0/json-glib-1.0.namespace
new file mode 100644 (file)
index 0000000..7917b3d
--- /dev/null
@@ -0,0 +1 @@
+Json