]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Add librest bindings
authorAdrien Bustany <madcat@mymadcat.com>
Mon, 31 Aug 2009 21:38:46 +0000 (17:38 -0400)
committerJürg Billeter <j@bitron.ch>
Tue, 15 Sep 2009 20:56:57 +0000 (22:56 +0200)
Fixes bug 593032.

vapi/Makefile.am
vapi/packages/rest/rest-custom.vala [new file with mode: 0644]
vapi/packages/rest/rest.files [new file with mode: 0644]
vapi/packages/rest/rest.gi [new file with mode: 0644]
vapi/packages/rest/rest.metadata [new file with mode: 0644]
vapi/packages/rest/rest.namespace [new file with mode: 0644]
vapi/rest.deps [new file with mode: 0644]
vapi/rest.vapi [new file with mode: 0644]

index 9edfc1b6a2cb9f2a77e5c1f16083774534619c8b..507fb8a86cb82102cd60f6beaa1755d0bed329b4 100644 (file)
@@ -144,6 +144,8 @@ dist_vapi_DATA = \
        posix.vapi \
        raptor.vapi \
        rasqal.vapi \
+       rest.deps \
+       rest.vapi \
        sdl.vapi \
        sdl-gfx.vapi \
        sdl-image.vapi \
diff --git a/vapi/packages/rest/rest-custom.vala b/vapi/packages/rest/rest-custom.vala
new file mode 100644 (file)
index 0000000..5359e81
--- /dev/null
@@ -0,0 +1,7 @@
+namespace Rest {
+       [CCode (cheader_filename = "rest/rest-proxy.h")]
+       public class Proxy {
+               public virtual Rest.ProxyCall new_call ();
+       }
+}
+
diff --git a/vapi/packages/rest/rest.files b/vapi/packages/rest/rest.files
new file mode 100644 (file)
index 0000000..a579ad5
--- /dev/null
@@ -0,0 +1 @@
+include/rest/rest/*.h
diff --git a/vapi/packages/rest/rest.gi b/vapi/packages/rest/rest.gi
new file mode 100644 (file)
index 0000000..2da0d1c
--- /dev/null
@@ -0,0 +1,599 @@
+<?xml version="1.0"?>
+<api version="1.0">
+       <namespace name="Rest">
+               <callback name="OAuthProxyAuthCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="proxy" type="OAuthProxy*"/>
+                               <parameter name="error" type="GError*"/>
+                               <parameter name="weak_object" type="GObject*"/>
+                               <parameter name="userdata" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <callback name="RestProxyCallAsyncCallback">
+                       <return-type type="void"/>
+                       <parameters>
+                               <parameter name="call" type="RestProxyCall*"/>
+                               <parameter name="error" type="GError*"/>
+                               <parameter name="weak_object" type="GObject*"/>
+                               <parameter name="userdata" type="gpointer"/>
+                       </parameters>
+               </callback>
+               <boxed name="RestXmlNode" type-name="RestXmlNode" get-type="rest_xml_node_get_type">
+                       <method name="find" symbol="rest_xml_node_find">
+                               <return-type type="RestXmlNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="RestXmlNode*"/>
+                                       <parameter name="tag" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="free" symbol="rest_xml_node_free">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="RestXmlNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_attr" symbol="rest_xml_node_get_attr">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="node" type="RestXmlNode*"/>
+                                       <parameter name="attr_name" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="ref" symbol="rest_xml_node_ref">
+                               <return-type type="RestXmlNode*"/>
+                               <parameters>
+                                       <parameter name="node" type="RestXmlNode*"/>
+                               </parameters>
+                       </method>
+                       <method name="unref" symbol="rest_xml_node_unref">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="node" type="RestXmlNode*"/>
+                               </parameters>
+                       </method>
+                       <field name="ref_count" type="int"/>
+                       <field name="name" type="gchar*"/>
+                       <field name="content" type="gchar*"/>
+                       <field name="children" type="GHashTable*"/>
+                       <field name="attrs" type="GHashTable*"/>
+                       <field name="next" type="RestXmlNode*"/>
+               </boxed>
+               <enum name="OAuthSignatureMethod">
+                       <member name="PLAINTEXT" value="0"/>
+                       <member name="HMAC_SHA1" value="1"/>
+               </enum>
+               <enum name="RestProxyCallError">
+                       <member name="REST_PROXY_CALL_FAILED" value="0"/>
+               </enum>
+               <enum name="RestProxyError">
+                       <member name="REST_PROXY_ERROR_CANCELLED" value="1"/>
+                       <member name="REST_PROXY_ERROR_RESOLUTION" value="2"/>
+                       <member name="REST_PROXY_ERROR_CONNECTION" value="3"/>
+                       <member name="REST_PROXY_ERROR_SSL" value="4"/>
+                       <member name="REST_PROXY_ERROR_IO" value="5"/>
+                       <member name="REST_PROXY_ERROR_FAILED" value="6"/>
+                       <member name="REST_PROXY_ERROR_HTTP_MULTIPLE_CHOICES" value="300"/>
+                       <member name="REST_PROXY_ERROR_HTTP_MOVED_PERMANENTLY" value="301"/>
+                       <member name="REST_PROXY_ERROR_HTTP_FOUND" value="302"/>
+                       <member name="REST_PROXY_ERROR_HTTP_SEE_OTHER" value="303"/>
+                       <member name="REST_PROXY_ERROR_HTTP_NOT_MODIFIED" value="304"/>
+                       <member name="REST_PROXY_ERROR_HTTP_USE_PROXY" value="305"/>
+                       <member name="REST_PROXY_ERROR_HTTP_THREEOHSIX" value="306"/>
+                       <member name="REST_PROXY_ERROR_HTTP_TEMPORARY_REDIRECT" value="307"/>
+                       <member name="REST_PROXY_ERROR_HTTP_BAD_REQUEST" value="400"/>
+                       <member name="REST_PROXY_ERROR_HTTP_UNAUTHORIZED" value="401"/>
+                       <member name="REST_PROXY_ERROR_HTTP_FOUROHTWO" value="402"/>
+                       <member name="REST_PROXY_ERROR_HTTP_FORBIDDEN" value="403"/>
+                       <member name="REST_PROXY_ERROR_HTTP_NOT_FOUND" value="404"/>
+                       <member name="REST_PROXY_ERROR_HTTP_METHOD_NOT_ALLOWED" value="405"/>
+                       <member name="REST_PROXY_ERROR_HTTP_NOT_ACCEPTABLE" value="406"/>
+                       <member name="REST_PROXY_ERROR_HTTP_PROXY_AUTHENTICATION_REQUIRED" value="407"/>
+                       <member name="REST_PROXY_ERROR_HTTP_REQUEST_TIMEOUT" value="408"/>
+                       <member name="REST_PROXY_ERROR_HTTP_CONFLICT" value="409"/>
+                       <member name="REST_PROXY_ERROR_HTTP_GONE" value="410"/>
+                       <member name="REST_PROXY_ERROR_HTTP_LENGTH_REQUIRED" value="411"/>
+                       <member name="REST_PROXY_ERROR_HTTP_PRECONDITION_FAILED" value="412"/>
+                       <member name="REST_PROXY_ERROR_HTTP_REQUEST_ENTITY_TOO_LARGE" value="413"/>
+                       <member name="REST_PROXY_ERROR_HTTP_REQUEST_URI_TOO_LONG" value="414"/>
+                       <member name="REST_PROXY_ERROR_HTTP_UNSUPPORTED_MEDIA_TYPE" value="415"/>
+                       <member name="REST_PROXY_ERROR_HTTP_REQUESTED_RANGE_NOT_SATISFIABLE" value="416"/>
+                       <member name="REST_PROXY_ERROR_HTTP_EXPECTATION_FAILED" value="417"/>
+                       <member name="REST_PROXY_ERROR_HTTP_INTERNAL_SERVER_ERROR" value="500"/>
+                       <member name="REST_PROXY_ERROR_HTTP_NOT_IMPLEMENTED" value="501"/>
+                       <member name="REST_PROXY_ERROR_HTTP_BAD_GATEWAY" value="502"/>
+                       <member name="REST_PROXY_ERROR_HTTP_SERVICE_UNAVAILABLE" value="503"/>
+                       <member name="REST_PROXY_ERROR_HTTP_GATEWAY_TIMEOUT" value="504"/>
+                       <member name="REST_PROXY_ERROR_HTTP_HTTP_VERSION_NOT_SUPPORTED" value="505"/>
+               </enum>
+               <object name="FacebookProxy" parent="RestProxy" type-name="FacebookProxy" get-type="facebook_proxy_get_type">
+                       <method name="build_login_url" symbol="facebook_proxy_build_login_url">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                                       <parameter name="frob" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="build_permission_url" symbol="facebook_proxy_build_permission_url">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                                       <parameter name="perms" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_api_key" symbol="facebook_proxy_get_api_key">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_app_secret" symbol="facebook_proxy_get_app_secret">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_session_key" symbol="facebook_proxy_get_session_key">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="facebook_proxy_new">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="api_key" type="char*"/>
+                                       <parameter name="app_secret" type="char*"/>
+                               </parameters>
+                       </constructor>
+                       <constructor name="new_with_session" symbol="facebook_proxy_new_with_session">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="api_key" type="char*"/>
+                                       <parameter name="app_secret" type="char*"/>
+                                       <parameter name="session_key" type="char*"/>
+                               </parameters>
+                       </constructor>
+                       <method name="set_app_secret" symbol="facebook_proxy_set_app_secret">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                                       <parameter name="secret" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_session_key" symbol="facebook_proxy_set_session_key">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                                       <parameter name="session_key" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="sign" symbol="facebook_proxy_sign">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FacebookProxy*"/>
+                                       <parameter name="params" type="GHashTable*"/>
+                               </parameters>
+                       </method>
+                       <property name="api-key" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <property name="app-secret" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+                       <property name="session-key" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+               </object>
+               <object name="FacebookProxyCall" parent="RestProxyCall" type-name="FacebookProxyCall" get-type="facebook_proxy_call_get_type">
+               </object>
+               <object name="FlickrProxy" parent="RestProxy" type-name="FlickrProxy" get-type="flickr_proxy_get_type">
+                       <method name="build_login_url" symbol="flickr_proxy_build_login_url">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                                       <parameter name="frob" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_api_key" symbol="flickr_proxy_get_api_key">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_shared_secret" symbol="flickr_proxy_get_shared_secret">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_token" symbol="flickr_proxy_get_token">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="flickr_proxy_new">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="api_key" type="char*"/>
+                                       <parameter name="shared_secret" type="char*"/>
+                               </parameters>
+                       </constructor>
+                       <constructor name="new_with_token" symbol="flickr_proxy_new_with_token">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="api_key" type="char*"/>
+                                       <parameter name="shared_secret" type="char*"/>
+                                       <parameter name="token" type="char*"/>
+                               </parameters>
+                       </constructor>
+                       <method name="set_token" symbol="flickr_proxy_set_token">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                                       <parameter name="token" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="sign" symbol="flickr_proxy_sign">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="FlickrProxy*"/>
+                                       <parameter name="params" type="GHashTable*"/>
+                               </parameters>
+                       </method>
+                       <property name="api-key" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <property name="shared-secret" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <property name="token" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+               </object>
+               <object name="FlickrProxyCall" parent="RestProxyCall" type-name="FlickrProxyCall" get-type="flickr_proxy_call_get_type">
+               </object>
+               <object name="OAuthProxy" parent="RestProxy" type-name="OAuthProxy" get-type="oauth_proxy_get_type">
+                       <method name="auth_step" symbol="oauth_proxy_auth_step">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                                       <parameter name="function" type="char*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="auth_step_async" symbol="oauth_proxy_auth_step_async">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                                       <parameter name="function" type="char*"/>
+                                       <parameter name="callback" type="OAuthProxyAuthCallback"/>
+                                       <parameter name="weak_object" type="GObject*"/>
+                                       <parameter name="user_data" type="gpointer"/>
+                                       <parameter name="error_out" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="get_token" symbol="oauth_proxy_get_token">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_token_secret" symbol="oauth_proxy_get_token_secret">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="oauth_proxy_new">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="consumer_key" type="char*"/>
+                                       <parameter name="consumer_secret" type="char*"/>
+                                       <parameter name="url_format" type="gchar*"/>
+                                       <parameter name="binding_required" type="gboolean"/>
+                               </parameters>
+                       </constructor>
+                       <constructor name="new_with_token" symbol="oauth_proxy_new_with_token">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="consumer_key" type="char*"/>
+                                       <parameter name="consumer_secret" type="char*"/>
+                                       <parameter name="token" type="char*"/>
+                                       <parameter name="token_secret" type="char*"/>
+                                       <parameter name="url_format" type="gchar*"/>
+                                       <parameter name="binding_required" type="gboolean"/>
+                               </parameters>
+                       </constructor>
+                       <method name="set_token" symbol="oauth_proxy_set_token">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                                       <parameter name="token" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_token_secret" symbol="oauth_proxy_set_token_secret">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="OAuthProxy*"/>
+                                       <parameter name="token_secret" type="char*"/>
+                               </parameters>
+                       </method>
+                       <property name="consumer-key" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <property name="consumer-secret" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <property name="token" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <property name="token-secret" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+               </object>
+               <object name="OAuthProxyCall" parent="RestProxyCall" type-name="OAuthProxyCall" get-type="oauth_proxy_call_get_type">
+               </object>
+               <object name="RestProxy" parent="GObject" type-name="RestProxy" get-type="rest_proxy_get_type">
+                       <method name="bind" symbol="rest_proxy_bind">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                               </parameters>
+                       </method>
+                       <method name="bind_valist" symbol="rest_proxy_bind_valist">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="params" type="va_list"/>
+                               </parameters>
+                       </method>
+                       <method name="error_quark" symbol="rest_proxy_error_quark">
+                               <return-type type="GQuark"/>
+                       </method>
+                       <method name="get_user_agent" symbol="rest_proxy_get_user_agent">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                               </parameters>
+                       </method>
+                       <constructor name="new" symbol="rest_proxy_new">
+                               <return-type type="RestProxy*"/>
+                               <parameters>
+                                       <parameter name="url_format" type="gchar*"/>
+                                       <parameter name="binding_required" type="gboolean"/>
+                               </parameters>
+                       </constructor>
+                       <constructor name="new_call" symbol="rest_proxy_new_call">
+                               <return-type type="RestProxyCall*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                               </parameters>
+                       </constructor>
+                       <method name="set_user_agent" symbol="rest_proxy_set_user_agent">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="user_agent" type="char*"/>
+                               </parameters>
+                       </method>
+                       <method name="simple_run" symbol="rest_proxy_simple_run">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="payload" type="gchar**"/>
+                                       <parameter name="len" type="goffset*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="simple_run_valist" symbol="rest_proxy_simple_run_valist">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="payload" type="gchar**"/>
+                                       <parameter name="len" type="goffset*"/>
+                                       <parameter name="error" type="GError**"/>
+                                       <parameter name="params" type="va_list"/>
+                               </parameters>
+                       </method>
+                       <property name="binding-required" type="gboolean" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <property name="url-format" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <property name="user-agent" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+                       <vfunc name="bind_valist">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="params" type="va_list"/>
+                               </parameters>
+                       </vfunc>
+                       <vfunc name="new_call">
+                               <return-type type="RestProxyCall*"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                               </parameters>
+                       </vfunc>
+                       <vfunc name="simple_run_valist">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="proxy" type="RestProxy*"/>
+                                       <parameter name="payload" type="gchar**"/>
+                                       <parameter name="len" type="goffset*"/>
+                                       <parameter name="error" type="GError**"/>
+                                       <parameter name="params" type="va_list"/>
+                               </parameters>
+                       </vfunc>
+               </object>
+               <object name="RestProxyCall" parent="GObject" type-name="RestProxyCall" get-type="rest_proxy_call_get_type">
+                       <method name="add_header" symbol="rest_proxy_call_add_header">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="header" type="gchar*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="add_headers" symbol="rest_proxy_call_add_headers">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="add_headers_from_valist" symbol="rest_proxy_call_add_headers_from_valist">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="headers" type="va_list"/>
+                               </parameters>
+                       </method>
+                       <method name="add_param" symbol="rest_proxy_call_add_param">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="param" type="gchar*"/>
+                                       <parameter name="value" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="add_params" symbol="rest_proxy_call_add_params">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="add_params_from_valist" symbol="rest_proxy_call_add_params_from_valist">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="params" type="va_list"/>
+                               </parameters>
+                       </method>
+                       <method name="async" symbol="rest_proxy_call_async">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="callback" type="RestProxyCallAsyncCallback"/>
+                                       <parameter name="weak_object" type="GObject*"/>
+                                       <parameter name="userdata" type="gpointer"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="cancel" symbol="rest_proxy_call_cancel">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="error_quark" symbol="rest_proxy_call_error_quark">
+                               <return-type type="GQuark"/>
+                       </method>
+                       <method name="get_method" symbol="rest_proxy_call_get_method">
+                               <return-type type="char*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_params" symbol="rest_proxy_call_get_params">
+                               <return-type type="GHashTable*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_payload" symbol="rest_proxy_call_get_payload">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_payload_length" symbol="rest_proxy_call_get_payload_length">
+                               <return-type type="goffset"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_response_headers" symbol="rest_proxy_call_get_response_headers">
+                               <return-type type="GHashTable*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_status_code" symbol="rest_proxy_call_get_status_code">
+                               <return-type type="guint"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="get_status_message" symbol="rest_proxy_call_get_status_message">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                               </parameters>
+                       </method>
+                       <method name="lookup_header" symbol="rest_proxy_call_lookup_header">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="header" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="lookup_param" symbol="rest_proxy_call_lookup_param">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="param" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="lookup_response_header" symbol="rest_proxy_call_lookup_response_header">
+                               <return-type type="gchar*"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="header" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="remove_header" symbol="rest_proxy_call_remove_header">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="header" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="remove_param" symbol="rest_proxy_call_remove_param">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="param" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="run" symbol="rest_proxy_call_run">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="loop" type="GMainLoop**"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <method name="set_function" symbol="rest_proxy_call_set_function">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="function" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="set_method" symbol="rest_proxy_call_set_method">
+                               <return-type type="void"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="method" type="gchar*"/>
+                               </parameters>
+                       </method>
+                       <method name="sync" symbol="rest_proxy_call_sync">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="error_out" type="GError**"/>
+                               </parameters>
+                       </method>
+                       <property name="proxy" type="RestProxy*" readable="1" writable="1" construct="0" construct-only="1"/>
+                       <vfunc name="prepare">
+                               <return-type type="gboolean"/>
+                               <parameters>
+                                       <parameter name="call" type="RestProxyCall*"/>
+                                       <parameter name="error" type="GError**"/>
+                               </parameters>
+                       </vfunc>
+               </object>
+               <object name="RestXmlParser" parent="GObject" type-name="RestXmlParser" get-type="rest_xml_parser_get_type">
+                       <constructor name="new" symbol="rest_xml_parser_new">
+                               <return-type type="RestXmlParser*"/>
+                       </constructor>
+                       <method name="parse_from_data" symbol="rest_xml_parser_parse_from_data">
+                               <return-type type="RestXmlNode*"/>
+                               <parameters>
+                                       <parameter name="parser" type="RestXmlParser*"/>
+                                       <parameter name="data" type="gchar*"/>
+                                       <parameter name="len" type="goffset"/>
+                               </parameters>
+                       </method>
+               </object>
+       </namespace>
+</api>
diff --git a/vapi/packages/rest/rest.metadata b/vapi/packages/rest/rest.metadata
new file mode 100644 (file)
index 0000000..e0ff1ca
--- /dev/null
@@ -0,0 +1,27 @@
+FacebookProxy cheader_filename="rest/facebook-proxy.h"
+FacebookProxyCall cheader_filename="rest/facebook-proxy-call.h"
+FlickrProxy cheader_filename="rest/flickr-proxy.h"
+FlickrProxyCall cheader_filename="rest/flickr-proxy-call.h"
+OAuthProxy cheader_filename="rest/oauth-proxy.h"
+OAuthProxyCall cheader_filename="rest/oauth-proxy-call.h"
+RestProxy cheader_filename="rest/rest-proxy.h"
+RestProxyCall cheader_filename="rest/rest-proxy-call.h"
+RestXml* cheader_filename="rest/rest-xml-parser.h"
+OAuthSignatureMethod cheader_filename="rest/oauth-proxy.h"
+RestProxyCallError RestProxyCall cheader_filename="rest/rest-proxy-call.h"
+RestProxyError cheader_filename="rest/rest-proxy.h"
+OAuthProxyAuthCallback cheader_filename="rest/oauth-proxy.h" has_target="1"
+RestProxyCallAsyncCallback cheader_filename="rest/rest-proxy-call.h" has_target="1"
+
+rest_proxy_call_get_params type_arguments="string,string"
+rest_proxy_bind ellipsis="1"
+rest_proxy_new_call hidden="1"
+rest_proxy_call_add_headers ellipsis="1"
+rest_proxy_call_add_params ellipsis="1"
+rest_proxy_call_async name="run_async"
+rest_proxy_call_async.userdata hidden="1"
+RestProxyCallAsyncCallback.userdata hidden="1"
+RestProxyCallAsyncCallback.error nullable="1"
+OAuthProxyAuthCallback.userdata hidden="1"
+OAuthProxyAuthCallback.error nullable="1"
+
diff --git a/vapi/packages/rest/rest.namespace b/vapi/packages/rest/rest.namespace
new file mode 100644 (file)
index 0000000..1506a72
--- /dev/null
@@ -0,0 +1 @@
+Rest
diff --git a/vapi/rest.deps b/vapi/rest.deps
new file mode 100644 (file)
index 0000000..3f9f152
--- /dev/null
@@ -0,0 +1,3 @@
+libsoup-2.4
+libxml-2.0
+glib-2.0
diff --git a/vapi/rest.vapi b/vapi/rest.vapi
new file mode 100644 (file)
index 0000000..ad7cb5e
--- /dev/null
@@ -0,0 +1,210 @@
+/* rest.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Rest", lower_case_cprefix = "rest_")]
+namespace Rest {
+       [CCode (cheader_filename = "rest/facebook-proxy.h")]
+       public class FacebookProxy : Rest.Proxy {
+               [CCode (cname = "facebook_proxy_new", type = "RestProxy*", has_construct_function = false)]
+               public FacebookProxy (string api_key, string app_secret);
+               [CCode (cname = "facebook_proxy_build_login_url")]
+               public static unowned string build_login_url (Rest.FacebookProxy proxy, string frob);
+               [CCode (cname = "facebook_proxy_build_permission_url")]
+               public static unowned string build_permission_url (Rest.FacebookProxy proxy, string perms);
+               [CCode (cname = "facebook_proxy_get_api_key")]
+               public static unowned string get_api_key (Rest.FacebookProxy proxy);
+               [CCode (cname = "facebook_proxy_get_app_secret")]
+               public static unowned string get_app_secret (Rest.FacebookProxy proxy);
+               [CCode (cname = "facebook_proxy_get_session_key")]
+               public static unowned string get_session_key (Rest.FacebookProxy proxy);
+               [CCode (cname = "facebook_proxy_set_app_secret")]
+               public static void set_app_secret (Rest.FacebookProxy proxy, string secret);
+               [CCode (cname = "facebook_proxy_set_session_key")]
+               public static void set_session_key (Rest.FacebookProxy proxy, string session_key);
+               [CCode (cname = "facebook_proxy_sign")]
+               public static unowned string sign (Rest.FacebookProxy proxy, GLib.HashTable @params);
+               [CCode (cname = "facebook_proxy_new_with_session", type = "RestProxy*", has_construct_function = false)]
+               public FacebookProxy.with_session (string api_key, string app_secret, string session_key);
+               public string api_key { get; construct; }
+               public string app_secret { get; set construct; }
+               public string session_key { get; set; }
+       }
+       [CCode (cheader_filename = "rest/facebook-proxy-call.h")]
+       public class FacebookProxyCall : Rest.ProxyCall {
+       }
+       [CCode (cheader_filename = "rest/flickr-proxy.h")]
+       public class FlickrProxy : Rest.Proxy {
+               [CCode (cname = "flickr_proxy_new", type = "RestProxy*", has_construct_function = false)]
+               public FlickrProxy (string api_key, string shared_secret);
+               [CCode (cname = "flickr_proxy_build_login_url")]
+               public static unowned string build_login_url (Rest.FlickrProxy proxy, string frob);
+               [CCode (cname = "flickr_proxy_get_api_key")]
+               public static unowned string get_api_key (Rest.FlickrProxy proxy);
+               [CCode (cname = "flickr_proxy_get_shared_secret")]
+               public static unowned string get_shared_secret (Rest.FlickrProxy proxy);
+               [CCode (cname = "flickr_proxy_get_token")]
+               public static unowned string get_token (Rest.FlickrProxy proxy);
+               [CCode (cname = "flickr_proxy_set_token")]
+               public static void set_token (Rest.FlickrProxy proxy, string token);
+               [CCode (cname = "flickr_proxy_sign")]
+               public static unowned string sign (Rest.FlickrProxy proxy, GLib.HashTable @params);
+               [CCode (cname = "flickr_proxy_new_with_token", type = "RestProxy*", has_construct_function = false)]
+               public FlickrProxy.with_token (string api_key, string shared_secret, string token);
+               public string api_key { get; construct; }
+               public string shared_secret { get; construct; }
+               public string token { get; set; }
+       }
+       [CCode (cheader_filename = "rest/flickr-proxy-call.h")]
+       public class FlickrProxyCall : Rest.ProxyCall {
+       }
+       [CCode (cheader_filename = "rest/oauth-proxy.h")]
+       public class OAuthProxy : Rest.Proxy {
+               [CCode (cname = "oauth_proxy_new", type = "RestProxy*", has_construct_function = false)]
+               public OAuthProxy (string consumer_key, string consumer_secret, string url_format, bool binding_required);
+               [CCode (cname = "oauth_proxy_auth_step")]
+               public static bool auth_step (Rest.OAuthProxy proxy, string function) throws GLib.Error;
+               [CCode (cname = "oauth_proxy_auth_step_async")]
+               public static bool auth_step_async (Rest.OAuthProxy proxy, string function, Rest.OAuthProxyAuthCallback callback, GLib.Object weak_object) throws GLib.Error;
+               [CCode (cname = "oauth_proxy_get_token")]
+               public static unowned string get_token (Rest.OAuthProxy proxy);
+               [CCode (cname = "oauth_proxy_get_token_secret")]
+               public static unowned string get_token_secret (Rest.OAuthProxy proxy);
+               [CCode (cname = "oauth_proxy_set_token")]
+               public static void set_token (Rest.OAuthProxy proxy, string token);
+               [CCode (cname = "oauth_proxy_set_token_secret")]
+               public static void set_token_secret (Rest.OAuthProxy proxy, string token_secret);
+               [CCode (cname = "oauth_proxy_new_with_token", type = "RestProxy*", has_construct_function = false)]
+               public OAuthProxy.with_token (string consumer_key, string consumer_secret, string token, string token_secret, string url_format, bool binding_required);
+               [NoAccessorMethod]
+               public string consumer_key { owned get; construct; }
+               [NoAccessorMethod]
+               public string consumer_secret { owned get; construct; }
+               public string token { get; set; }
+               public string token_secret { get; set; }
+       }
+       [CCode (cheader_filename = "rest/oauth-proxy-call.h")]
+       public class OAuthProxyCall : Rest.ProxyCall {
+       }
+       [CCode (cheader_filename = "rest/rest-proxy.h")]
+       public class Proxy : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Proxy (string url_format, bool binding_required);
+               public bool bind (...);
+               public virtual bool bind_valist (void* @params);
+               public static GLib.Quark error_quark ();
+               public unowned string get_user_agent ();
+               public virtual Rest.ProxyCall new_call ();
+               public void set_user_agent (string user_agent);
+               public bool simple_run (string payload, int64 len) throws GLib.Error;
+               public virtual bool simple_run_valist (string payload, int64 len, void* @params) throws GLib.Error;
+               [NoAccessorMethod]
+               public bool binding_required { get; set; }
+               [NoAccessorMethod]
+               public string url_format { owned get; set; }
+               public string user_agent { get; set; }
+       }
+       [CCode (cheader_filename = "rest/rest-proxy-call.h")]
+       public class ProxyCall : GLib.Object {
+               public void add_header (string header, string value);
+               public void add_headers (...);
+               public void add_headers_from_valist (void* headers);
+               public void add_param (string param, string value);
+               public void add_params (...);
+               public void add_params_from_valist (void* @params);
+               public bool cancel () throws GLib.Error;
+               public static GLib.Quark error_quark ();
+               public unowned string get_method ();
+               public unowned GLib.HashTable<string,string> get_params ();
+               public unowned string get_payload ();
+               public int64 get_payload_length ();
+               public unowned GLib.HashTable get_response_headers ();
+               public uint get_status_code ();
+               public unowned string get_status_message ();
+               public unowned string lookup_header (string header);
+               public unowned string lookup_param (string param);
+               public unowned string lookup_response_header (string header);
+               [NoWrapper]
+               public virtual bool prepare () throws GLib.Error;
+               public void remove_header (string header);
+               public void remove_param (string param);
+               public bool run (out unowned GLib.MainLoop loop) throws GLib.Error;
+               [CCode (cname = "rest_proxy_call_async")]
+               public bool run_async (Rest.ProxyCallAsyncCallback callback, GLib.Object weak_object) throws GLib.Error;
+               public void set_function (string function);
+               public void set_method (string method);
+               public bool sync () throws GLib.Error;
+               [NoAccessorMethod]
+               public Rest.Proxy proxy { owned get; construct; }
+       }
+       [Compact]
+       [CCode (ref_function = "rest_xml_node_ref", unref_function = "rest_xml_node_unref", type_id = "REST_TYPE_XML_NODE", cheader_filename = "rest/rest-xml-parser.h")]
+       public class XmlNode {
+               public weak GLib.HashTable attrs;
+               public weak GLib.HashTable children;
+               public weak string content;
+               public weak string name;
+               public weak Rest.XmlNode next;
+               public int ref_count;
+               public unowned Rest.XmlNode find (string tag);
+               public unowned string get_attr (string attr_name);
+       }
+       [CCode (cheader_filename = "rest/rest-xml-parser.h")]
+       public class XmlParser : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public XmlParser ();
+               public unowned Rest.XmlNode parse_from_data (string data, int64 len);
+       }
+       [CCode (cprefix = "", has_type_id = "0", cheader_filename = "rest/oauth-proxy.h")]
+       public enum OAuthSignatureMethod {
+               PLAINTEXT,
+               HMAC_SHA1
+       }
+       [CCode (cprefix = "REST_PROXY_CALL_", has_type_id = "0", cheader_filename = "rest/rest-proxy-call.h")]
+       public enum ProxyCallError {
+               FAILED
+       }
+       [CCode (cprefix = "REST_PROXY_ERROR_", has_type_id = "0", cheader_filename = "rest/rest-proxy.h")]
+       public enum ProxyError {
+               CANCELLED,
+               RESOLUTION,
+               CONNECTION,
+               SSL,
+               IO,
+               FAILED,
+               HTTP_MULTIPLE_CHOICES,
+               HTTP_MOVED_PERMANENTLY,
+               HTTP_FOUND,
+               HTTP_SEE_OTHER,
+               HTTP_NOT_MODIFIED,
+               HTTP_USE_PROXY,
+               HTTP_THREEOHSIX,
+               HTTP_TEMPORARY_REDIRECT,
+               HTTP_BAD_REQUEST,
+               HTTP_UNAUTHORIZED,
+               HTTP_FOUROHTWO,
+               HTTP_FORBIDDEN,
+               HTTP_NOT_FOUND,
+               HTTP_METHOD_NOT_ALLOWED,
+               HTTP_NOT_ACCEPTABLE,
+               HTTP_PROXY_AUTHENTICATION_REQUIRED,
+               HTTP_REQUEST_TIMEOUT,
+               HTTP_CONFLICT,
+               HTTP_GONE,
+               HTTP_LENGTH_REQUIRED,
+               HTTP_PRECONDITION_FAILED,
+               HTTP_REQUEST_ENTITY_TOO_LARGE,
+               HTTP_REQUEST_URI_TOO_LONG,
+               HTTP_UNSUPPORTED_MEDIA_TYPE,
+               HTTP_REQUESTED_RANGE_NOT_SATISFIABLE,
+               HTTP_EXPECTATION_FAILED,
+               HTTP_INTERNAL_SERVER_ERROR,
+               HTTP_NOT_IMPLEMENTED,
+               HTTP_BAD_GATEWAY,
+               HTTP_SERVICE_UNAVAILABLE,
+               HTTP_GATEWAY_TIMEOUT,
+               HTTP_HTTP_VERSION_NOT_SUPPORTED
+       }
+       [CCode (cheader_filename = "rest/oauth-proxy.h")]
+       public delegate void OAuthProxyAuthCallback (Rest.OAuthProxy proxy, GLib.Error error, GLib.Object weak_object);
+       [CCode (cheader_filename = "rest/rest-proxy-call.h")]
+       public delegate void ProxyCallAsyncCallback (Rest.ProxyCall call, GLib.Error error, GLib.Object weak_object);
+}