[vala] Add librest bindings



commit d245b15c71bb9d4f690268ecbab4419596c06884
Author: Adrien Bustany <madcat mymadcat com>
Date:   Mon Aug 31 17:38:46 2009 -0400

    Add librest bindings
    
    Fixes bug 593032.

 vapi/Makefile.am                    |    2 +
 vapi/packages/rest/rest-custom.vala |    7 +
 vapi/packages/rest/rest.files       |    1 +
 vapi/packages/rest/rest.gi          |  599 +++++++++++++++++++++++++++++++++++
 vapi/packages/rest/rest.metadata    |   27 ++
 vapi/packages/rest/rest.namespace   |    1 +
 vapi/rest.deps                      |    3 +
 vapi/rest.vapi                      |  210 ++++++++++++
 8 files changed, 850 insertions(+), 0 deletions(-)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index 9edfc1b..507fb8a 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -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
index 0000000..5359e81
--- /dev/null
+++ b/vapi/packages/rest/rest-custom.vala
@@ -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
index 0000000..a579ad5
--- /dev/null
+++ b/vapi/packages/rest/rest.files
@@ -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
index 0000000..2da0d1c
--- /dev/null
+++ b/vapi/packages/rest/rest.gi
@@ -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
index 0000000..e0ff1ca
--- /dev/null
+++ b/vapi/packages/rest/rest.metadata
@@ -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
index 0000000..1506a72
--- /dev/null
+++ b/vapi/packages/rest/rest.namespace
@@ -0,0 +1 @@
+Rest
diff --git a/vapi/rest.deps b/vapi/rest.deps
new file mode 100644
index 0000000..3f9f152
--- /dev/null
+++ b/vapi/rest.deps
@@ -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
index 0000000..ad7cb5e
--- /dev/null
+++ b/vapi/rest.vapi
@@ -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);
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]