[vala] libsoup-2.4: Switch to GIR



commit e5f1d1258375fd0468e847bc6c874cc3594a2158
Author: Luca Bruno <lucabru src gnome org>
Date:   Fri May 6 23:29:12 2011 +0200

    libsoup-2.4: Switch to GIR

 vapi/libsoup-2.4.vapi                              |  388 ++-
 .../Soup-2.4-custom.vala}                          |   27 +
 vapi/metadata/Soup-2.4.metadata                    |  105 +
 vapi/packages/libsoup-2.4/libsoup-2.4.deps         |    1 -
 vapi/packages/libsoup-2.4/libsoup-2.4.files        |    2 -
 vapi/packages/libsoup-2.4/libsoup-2.4.gi           | 3241 --------------------
 vapi/packages/libsoup-2.4/libsoup-2.4.metadata     |  154 -
 vapi/packages/libsoup-2.4/libsoup-2.4.namespace    |    1 -
 8 files changed, 360 insertions(+), 3559 deletions(-)
---
diff --git a/vapi/libsoup-2.4.vapi b/vapi/libsoup-2.4.vapi
index dbada0c..5c112b9 100644
--- a/vapi/libsoup-2.4.vapi
+++ b/vapi/libsoup-2.4.vapi
@@ -1,6 +1,6 @@
 /* libsoup-2.4.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "Soup", lower_case_cprefix = "soup_")]
+[CCode (cprefix = "Soup", lower_case_cprefix = "soup_", gir_namespace = "Soup", gir_version = "2.4")]
 namespace Soup {
 	[CCode (cprefix = "SoupForm", lower_case_cprefix = "soup_form_")]
 	namespace Form {
@@ -11,13 +11,15 @@ namespace Soup {
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static string encode (...);
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static string encode_datalist (void* form_data_set);
+		public static string encode_datalist (GLib.Datalist form_data_set);
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static string encode_hash (GLib.HashTable<string,string> form_data_set);
 		[CCode (cheader_filename = "libsoup/soup.h")]
+		public static string encode_valist (string first_field, va_list args);
+		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static Soup.Message request_new (string method, string uri, ...);
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static Soup.Message request_new_from_datalist (string method, string uri, void* form_data_set);
+		public static Soup.Message request_new_from_datalist (string method, string uri, GLib.Datalist form_data_set);
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static Soup.Message request_new_from_hash (string method, string uri, GLib.HashTable<string,string> form_data_set);
 		[CCode (cheader_filename = "libsoup/soup.h")]
@@ -28,7 +30,7 @@ namespace Soup {
 		[CCode (cprefix = "SOUP_XMLRPC_ERROR_", cheader_filename = "libsoup/soup.h")]
 		public errordomain Error {
 			ARGUMENTS,
-			RETVAL,
+			RETVAL
 		}
 		[CCode (cprefix = "SOUP_XMLRPC_FAULT_", cheader_filename = "libsoup/soup.h")]
 		public errordomain Fault {
@@ -41,45 +43,46 @@ namespace Soup {
 			SERVER_ERROR_INTERNAL_XML_RPC_ERROR,
 			APPLICATION_ERROR,
 			SYSTEM_ERROR,
-			TRANSPORT_ERROR,
+			TRANSPORT_ERROR
 		}
 		[PrintfFormat]
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static unowned string build_fault (int fault_code, string fault_format, ...);
+		public static string build_fault (int fault_code, string fault_format, ...);
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static unowned string build_method_call (string method_name, GLib.Value[] @params);
+		public static string build_method_call (string method_name, [CCode (type = "GValue*", array_length_cname = "n_params", array_length_pos = 2.1)] GLib.Value[] @params);
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static unowned string build_method_response (GLib.Value value);
+		public static string build_method_response (GLib.Value value);
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static GLib.Quark error_quark ();
 		[CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-		public static bool extract_method_call (string method_call, int length, out unowned string method_name, ...);
+		public static bool extract_method_call (string method_call, int length, out string method_name, ...);
 		[CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
 		public static bool extract_method_response (string method_response, int length, ...) throws Soup.XMLRPC.Fault;
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static GLib.Quark fault_quark ();
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static bool parse_method_call (string method_call, int length, out unowned string method_name, out unowned GLib.ValueArray @params);
+		public static bool parse_method_call (string method_call, int length, out string method_name, out GLib.ValueArray @params);
 		[CCode (cheader_filename = "libsoup/soup.h")]
-		public static bool parse_method_response (string method_response, int length, GLib.Value value) throws Soup.XMLRPC.Fault;
+		public static bool parse_method_response (string method_response, int length, out GLib.Value value) throws Soup.XMLRPC.Fault;
 		[CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
-		public static unowned Soup.Message request_new (string uri, string method_name, ...);
+		public static Soup.Message request_new (string uri, string method_name, ...);
 		[PrintfFormat]
 		[CCode (cheader_filename = "libsoup/soup.h")]
 		public static void set_fault (Soup.Message msg, int fault_code, string fault_format, ...);
 		[CCode (cheader_filename = "libsoup/soup.h", sentinel = "G_TYPE_INVALID")]
 		public static void set_response (Soup.Message msg, ...);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public class Address : GLib.Object {
+	[CCode (type_id = "soup_address_get_type ()", cheader_filename = "libsoup/soup.h")]
+	public class Address : GLib.Object, GLib.SocketConnectable {
 		[CCode (has_construct_function = false)]
 		public Address (string name, uint port);
 		[CCode (has_construct_function = false)]
 		public Address.any (Soup.AddressFamily family, uint port);
-		public static bool equal_by_ip ([CCode (type = "void*")] Soup.Address addr1, [CCode (type = "void*")] Soup.Address addr2);
-		public static bool equal_by_name ([CCode (type = "void*")] Soup.Address addr1, [CCode (type = "void*")] Soup.Address addr2);
+		public static bool equal_by_ip ([CCode (type = "gconstpointer")] Soup.Address addr1, [CCode (type = "gconstpointer")] Soup.Address addr2);
+		public static bool equal_by_name ([CCode (type = "gconstpointer")] Soup.Address addr1, [CCode (type = "gconstpointer")] Soup.Address addr2);
 		[CCode (has_construct_function = false)]
 		public Address.from_sockaddr (void* sa, int len);
+		public GLib.SocketAddress get_gsockaddr ();
 		public unowned string get_name ();
 		public unowned string get_physical ();
 		public uint get_port ();
@@ -87,43 +90,45 @@ namespace Soup {
 		public static uint hash_by_ip (void* addr);
 		public static uint hash_by_name (void* addr);
 		public bool is_resolved ();
-		public void resolve_async (GLib.MainContext async_context, GLib.Cancellable cancellable, Soup.AddressCallback callback);
-		public uint resolve_sync (GLib.Cancellable cancellable);
+		public void resolve_async (GLib.MainContext? async_context, GLib.Cancellable? cancellable, [CCode (delegate_target_pos = 3.1)] Soup.AddressCallback callback);
+		public uint resolve_sync (GLib.Cancellable? cancellable);
 		[NoAccessorMethod]
 		public Soup.AddressFamily family { get; construct; }
 		public string name { get; construct; }
 		public string physical { get; }
 		public int port { get; construct; }
+		[NoAccessorMethod]
 		public void* sockaddr { get; construct; }
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_auth_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Auth : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Auth (GLib.Type type, Soup.Message msg, string auth_header);
 		public virtual void authenticate (string username, string password);
-		public virtual unowned string get_authorization (Soup.Message msg);
+		public virtual string get_authorization (Soup.Message msg);
 		public unowned string get_host ();
-		public unowned string get_info ();
+		public string get_info ();
 		public virtual GLib.SList<string> get_protection_space (Soup.URI source_uri);
 		public unowned string get_realm ();
 		public unowned string get_scheme_name ();
-		public virtual bool update (Soup.Message msg, string auth_header);
+		public virtual bool update (Soup.Message msg, GLib.HashTable<void*,void*> auth_params);
 		public string host { get; construct; }
 		[NoAccessorMethod]
-		public bool is_authenticated { get; }
+		public virtual bool is_authenticated { get; }
 		[NoAccessorMethod]
 		public bool is_for_proxy { get; construct; }
 		public string realm { get; construct; }
 		public string scheme_name { get; }
-		public virtual signal void save_password (string p0, string p1);
+		public signal void save_password (string object, string p0);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_auth_domain_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class AuthDomain : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected AuthDomain ();
-		public virtual unowned string accepts (Soup.Message msg);
+		[NoWrapper]
+		public virtual string accepts (Soup.Message msg, string header);
 		public void add_path (string path);
-		public virtual unowned string challenge (Soup.Message msg);
+		public virtual string challenge (Soup.Message msg);
 		public virtual bool check_password (Soup.Message msg, string username, string password);
 		public bool covers (Soup.Message msg);
 		public unowned string get_realm ();
@@ -143,21 +148,21 @@ namespace Soup {
 		public bool proxy { get; construct; }
 		public string realm { get; construct; }
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_auth_domain_basic_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class AuthDomainBasic : Soup.AuthDomain {
 		[CCode (type = "SoupAuthDomain*", has_construct_function = false)]
-		public AuthDomainBasic (string optname1);
+		public AuthDomainBasic (string optname1, ...);
 		public static void set_auth_callback (Soup.AuthDomain domain, owned Soup.AuthDomainBasicAuthCallback callback);
 		[NoAccessorMethod]
 		public void* auth_callback { get; set; }
 		[NoAccessorMethod]
 		public void* auth_data { get; set; }
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_auth_domain_digest_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class AuthDomainDigest : Soup.AuthDomain {
 		[CCode (type = "SoupAuthDomain*", has_construct_function = false)]
-		public AuthDomainDigest (string optname1);
-		public static unowned string encode_password (string username, string realm, string password);
+		public AuthDomainDigest (string optname1, ...);
+		public static string encode_password (string username, string realm, string password);
 		public static void set_auth_callback (Soup.AuthDomain domain, owned Soup.AuthDomainDigestAuthCallback callback);
 		[NoAccessorMethod]
 		public void* auth_callback { get; set; }
@@ -165,26 +170,30 @@ namespace Soup {
 		public void* auth_data { get; set; }
 	}
 	[Compact]
-	[CCode (ref_function = "soup_buffer_copy", unref_function = "soup_buffer_free", type_id = "SOUP_TYPE_BUFFER", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_buffer_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Buffer {
-		[CCode (array_length_cname = "length", array_length_type = "size_t")]
+		[CCode (array_length_cname = "length", array_length_type = "gsize")]
 		public uint8[] data;
 		public size_t length;
 		[CCode (has_construct_function = false)]
-		public Buffer (Soup.MemoryUse use, [CCode (type = "void*", array_length_type = "gsize")] uint8[] data);
+		public Buffer (Soup.MemoryUse use, [CCode (type = "gconstpointer", array_length_type = "gsize", array_length_cname = "length", array_length_pos = 2.1)] uint8[] data);
 		public Soup.Buffer copy ();
+		public void free ();
+		public void get_data ([CCode (array_length_type = "gsize", array_length_cname = "length")] out unowned uint8[] data);
 		public void* get_owner ();
 		[CCode (has_construct_function = false)]
 		public Buffer.subbuffer (Soup.Buffer parent, size_t offset, size_t length);
 		[CCode (has_construct_function = false)]
-		public Buffer.with_owner ([CCode (type = "void*", array_length_type = "gsize")] uint8[] data, void* owner, GLib.DestroyNotify? owner_dnotify);
+		public Buffer.take ([CCode (array_length_type = "gsize", array_length_cname = "length")] owned uint8[] data);
+		[CCode (has_construct_function = false)]
+		public Buffer.with_owner ([CCode (type = "gconstpointer", array_length_type = "gsize", array_length_cname = "length", array_length_pos = 1.5)] uint8[] data, void* owner, GLib.DestroyNotify? owner_dnotify);
 	}
 	[Compact]
-	[CCode (type_id = "SOUP_TYPE_BYTE_ARRAY", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_byte_array_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class ByteArray {
 	}
 	[Compact]
-	[CCode (type_id = "SOUP_TYPE_CLIENT_CONTEXT", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_client_context_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class ClientContext {
 		public unowned Soup.Address get_address ();
 		public unowned Soup.AuthDomain get_auth_domain ();
@@ -192,12 +201,16 @@ namespace Soup {
 		public unowned string get_host ();
 		public unowned Soup.Socket get_socket ();
 	}
+	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
+	public class Connection {
+	}
+	[CCode (type_id = "soup_content_decoder_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class ContentDecoder : GLib.Object, Soup.SessionFeature {
 		[CCode (has_construct_function = false)]
 		protected ContentDecoder ();
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_content_sniffer_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class ContentSniffer : GLib.Object, Soup.SessionFeature {
 		[CCode (has_construct_function = false)]
 		public ContentSniffer ();
@@ -206,7 +219,7 @@ namespace Soup {
 		public virtual string sniff (Soup.Message msg, Soup.Buffer buffer, out GLib.HashTable<string,string>? @params);
 	}
 	[Compact]
-	[CCode (copy_function = "soup_cookie_copy", type_id = "SOUP_TYPE_COOKIE", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_cookie_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Cookie {
 		public weak string domain;
 		public weak Soup.Date expires;
@@ -221,7 +234,15 @@ namespace Soup {
 		public Soup.Cookie copy ();
 		public bool domain_matches (string host);
 		public bool equal (Soup.Cookie cookie2);
-		public static unowned Soup.Cookie parse (string header, Soup.URI origin);
+		public void free ();
+		public unowned string get_domain ();
+		public unowned Soup.Date get_expires ();
+		public bool get_http_only ();
+		public unowned string get_name ();
+		public unowned string get_path ();
+		public bool get_secure ();
+		public unowned string get_value ();
+		public static Soup.Cookie parse (string header, Soup.URI origin);
 		public void set_domain (string domain);
 		public void set_expires (Soup.Date expires);
 		public void set_http_only (bool http_only);
@@ -230,10 +251,10 @@ namespace Soup {
 		public void set_path (string path);
 		public void set_secure (bool secure);
 		public void set_value (string value);
-		public unowned string to_cookie_header ();
-		public unowned string to_set_cookie_header ();
+		public string to_cookie_header ();
+		public string to_set_cookie_header ();
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_cookie_jar_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class CookieJar : GLib.Object, Soup.SessionFeature {
 		[CCode (has_construct_function = false)]
 		public CookieJar ();
@@ -241,7 +262,7 @@ namespace Soup {
 		public GLib.SList<Soup.Cookie> all_cookies ();
 		public void delete_cookie (Soup.Cookie cookie);
 		public Soup.CookieJarAcceptPolicy get_accept_policy ();
-		public unowned string get_cookies (Soup.URI uri, bool for_http);
+		public string get_cookies (Soup.URI uri, bool for_http);
 		public virtual void save ();
 		public void set_accept_policy (Soup.CookieJarAcceptPolicy policy);
 		public void set_cookie (Soup.URI uri, string cookie);
@@ -251,7 +272,7 @@ namespace Soup {
 		public bool read_only { get; construct; }
 		public virtual signal void changed (Soup.Cookie old_cookie, Soup.Cookie new_cookie);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_cookie_jar_text_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class CookieJarText : Soup.CookieJar, Soup.SessionFeature {
 		[CCode (type = "SoupCookieJar*", has_construct_function = false)]
 		public CookieJarText (string filename, bool read_only);
@@ -259,7 +280,7 @@ namespace Soup {
 		public string filename { owned get; construct; }
 	}
 	[Compact]
-	[CCode (copy_function = "soup_date_copy", type_id = "SOUP_TYPE_DATE", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_date_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Date {
 		public int day;
 		public int hour;
@@ -272,18 +293,27 @@ namespace Soup {
 		[CCode (has_construct_function = false)]
 		public Date (int year, int month, int day, int hour, int minute, int second);
 		public Soup.Date copy ();
+		public void free ();
 		[CCode (has_construct_function = false)]
 		public Date.from_now (int offset_seconds);
 		[CCode (has_construct_function = false)]
 		public Date.from_string (string date_string);
 		[CCode (has_construct_function = false)]
-		public Date.from_time_t (ulong when);
+		public Date.from_time_t ([CCode (type = "time_t")] time_t when);
+		public int get_day ();
+		public int get_hour ();
+		public int get_minute ();
+		public int get_month ();
+		public int get_offset ();
+		public int get_second ();
+		public int get_utc ();
+		public int get_year ();
 		public bool is_past ();
-		public unowned string to_string (Soup.DateFormat format);
-		public ulong to_time_t ();
-		public void to_timeval (GLib.TimeVal time);
+		public string to_string (Soup.DateFormat format);
+		public time_t to_time_t ();
+		public GLib.TimeVal to_timeval ();
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_logger_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Logger : GLib.Object, Soup.SessionFeature {
 		[CCode (has_construct_function = false)]
 		public Logger (Soup.LoggerLogLevel level, int max_body_size);
@@ -291,16 +321,12 @@ namespace Soup {
 		public void set_request_filter (owned Soup.LoggerFilter request_filter);
 		public void set_response_filter (owned Soup.LoggerFilter response_filter);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_message_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Message : GLib.Object {
-		public weak Soup.MessageBody request_body;
-		public weak Soup.MessageHeaders request_headers;
-		public weak Soup.MessageBody response_body;
-		public weak Soup.MessageHeaders response_headers;
 		[CCode (has_construct_function = false)]
 		public Message (string method, string uri_string);
-		public uint add_header_handler (string @signal, string header, GLib.Callback callback);
-		public uint add_status_code_handler (string @signal, uint status_code, GLib.Callback callback);
+		public uint add_header_handler (string @signal, string header, [CCode (delegate_target_pos = 3.1)] GLib.Callback callback);
+		public uint add_status_code_handler (string @signal, uint status_code, [CCode (delegate_target_pos = 3.1)] GLib.Callback callback);
 		public void disable_feature (GLib.Type feature_type);
 		[CCode (has_construct_function = false)]
 		public Message.from_uri (string method, Soup.URI uri);
@@ -311,11 +337,11 @@ namespace Soup {
 		public unowned Soup.URI get_uri ();
 		public bool is_keepalive ();
 		public void set_chunk_allocator (owned Soup.ChunkAllocator allocator);
-		public void set_first_party (...);
+		public void set_first_party (Soup.URI first_party);
 		public void set_flags (Soup.MessageFlags flags);
 		public void set_http_version (Soup.HTTPVersion version);
-		public void set_request (string content_type, Soup.MemoryUse req_use, [CCode (type = "const char*", array_length_type = "gsize")] uint8[] req_body);
-		public void set_response (string content_type, Soup.MemoryUse resp_use, [CCode (type = "const char*", array_length_type = "gsize")] uint8[] resp_body);
+		public void set_request (string content_type, Soup.MemoryUse req_use, [CCode (type = "char*", array_length_type = "gsize", array_length_cname = "req_length", array_length_pos = 3.1)] uint8[] req_body);
+		public void set_response (string? content_type, Soup.MemoryUse resp_use, [CCode (array_length_type = "gsize", array_length_cname = "resp_length", array_length_pos = 3.1)] uint8[] resp_body);
 		public void set_status (uint status_code);
 		public void set_status_full (uint status_code, string reason_phrase);
 		public void set_uri (Soup.URI uri);
@@ -327,12 +353,20 @@ namespace Soup {
 		[NoAccessorMethod]
 		public string reason_phrase { owned get; set; }
 		[NoAccessorMethod]
+		public Soup.MessageBody request_body { owned get; }
+		[NoAccessorMethod]
+		public Soup.MessageHeaders request_headers { owned get; }
+		[NoAccessorMethod]
+		public Soup.MessageBody response_body { owned get; }
+		[NoAccessorMethod]
+		public Soup.MessageHeaders response_headers { owned get; }
+		[NoAccessorMethod]
 		public bool server_side { get; construct; }
 		[NoAccessorMethod]
 		public uint status_code { get; set; }
 		public Soup.URI uri { get; set; }
 		[HasEmitter]
-		public virtual signal void content_sniffed (string p0, GLib.HashTable p1);
+		public signal void content_sniffed (string object, GLib.HashTable<void*,void*> p0);
 		[HasEmitter]
 		public virtual signal void finished ();
 		[HasEmitter]
@@ -348,7 +382,7 @@ namespace Soup {
 		[HasEmitter]
 		public virtual signal void wrote_body ();
 		[HasEmitter]
-		public virtual signal void wrote_body_data (Soup.Buffer p0);
+		public signal void wrote_body_data (Soup.Buffer object);
 		[HasEmitter]
 		public virtual signal void wrote_chunk ();
 		[HasEmitter]
@@ -357,43 +391,46 @@ namespace Soup {
 		public virtual signal void wrote_informational ();
 	}
 	[Compact]
-	[CCode (type_id = "SOUP_TYPE_MESSAGE_BODY", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_message_body_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class MessageBody {
 		[CCode (array_length_cname = "length", array_length_type = "gint64")]
-		public weak uint8[] data;
+		public uint8[] data;
 		public int64 length;
 		[CCode (has_construct_function = false)]
 		public MessageBody ();
-		public void append (Soup.MemoryUse use, [CCode (type = "gconstpointer", array_length_type = "gsize")] uint8[] data);
+		public void append (Soup.MemoryUse use, [CCode (array_length_type = "gsize", array_length_cname = "length", array_length_pos = 2.1)] uint8[] data);
 		public void append_buffer (Soup.Buffer buffer);
+		public void append_take ([CCode (array_length_type = "gsize", array_length_cname = "length")] owned uint8[] data);
 		public void complete ();
 		public Soup.Buffer flatten ();
+		public void free ();
 		public bool get_accumulate ();
-		public unowned Soup.Buffer get_chunk (int64 offset);
+		public Soup.Buffer get_chunk (int64 offset);
 		public void got_chunk (Soup.Buffer chunk);
 		public void set_accumulate (bool accumulate);
 		public void truncate ();
 		public void wrote_chunk (Soup.Buffer chunk);
 	}
 	[Compact]
-	[CCode (type_id = "SOUP_TYPE_MESSAGE_HEADERS", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_message_headers_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class MessageHeaders {
 		[CCode (has_construct_function = false)]
 		public MessageHeaders (Soup.MessageHeadersType type);
 		public void append (string name, string value);
 		public void clear ();
 		public void @foreach (Soup.MessageHeadersForeachFunc func);
+		public void free ();
 		public void free_ranges (Soup.Range ranges);
 		public unowned string @get (string name);
-		public bool get_content_disposition (out string disposition, out GLib.HashTable? @params);
+		public bool get_content_disposition (out string disposition, out GLib.HashTable<string,string> @params);
 		public int64 get_content_length ();
 		public bool get_content_range (int64 start, int64 end, int64 total_length);
-		public unowned string get_content_type (out GLib.HashTable<string,string>? @params);
+		public unowned string get_content_type (out GLib.HashTable<string,string> @params);
 		public Soup.Encoding get_encoding ();
 		public Soup.Expectation get_expectations ();
 		public unowned string get_list (string name);
 		public unowned string get_one (string name);
-		public bool get_ranges (int64 total_length, out unowned Soup.Range ranges, int length);
+		public bool get_ranges (int64 total_length, out Soup.Range ranges, int length);
 		public void remove (string name);
 		public void replace (string name, string value);
 		public void set_content_disposition (string disposition, GLib.HashTable<string,string>? @params);
@@ -407,36 +444,33 @@ namespace Soup {
 	}
 	[Compact]
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public class MessageHeadersIter {
-		public void init (Soup.MessageHeaders hdrs);
-		public bool next (out unowned string name, out unowned string value);
+	public class MessageQueue {
+	}
+	[Compact]
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public class MessageQueueItem {
 	}
 	[Compact]
-	[CCode (type_id = "SOUP_TYPE_MULTIPART", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_multipart_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Multipart {
 		[CCode (has_construct_function = false)]
 		public Multipart (string mime_type);
 		public void append_form_file (string control_name, string filename, string content_type, Soup.Buffer body);
 		public void append_form_string (string control_name, string data);
 		public void append_part (Soup.MessageHeaders headers, Soup.Buffer body);
+		public void free ();
 		[CCode (has_construct_function = false)]
 		public Multipart.from_message (Soup.MessageHeaders headers, Soup.MessageBody body);
 		public int get_length ();
 		public bool get_part (int part, out unowned Soup.MessageHeaders headers, out unowned Soup.Buffer body);
 		public void to_message (Soup.MessageHeaders dest_headers, Soup.MessageBody dest_body);
 	}
-	[Compact]
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public class Range {
-		public int64 end;
-		public int64 start;
-	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_server_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Server : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public Server (string optname1, ...);
 		public void add_auth_domain (Soup.AuthDomain auth_domain);
-		public void add_handler (string path, owned Soup.ServerCallback callback);
+		public void add_handler (string? path, [CCode (delegate_target_pos = 2.1)] owned Soup.ServerCallback callback);
 		public unowned GLib.MainContext get_async_context ();
 		public unowned Soup.Socket get_listener ();
 		public uint get_port ();
@@ -448,7 +482,7 @@ namespace Soup {
 		public void run ();
 		public void run_async ();
 		public void unpause_message (Soup.Message msg);
-		public GLib.MainContext async_context { get; construct; }
+		public GLib.MainContext async_context { get; owned construct; }
 		[NoAccessorMethod]
 		public Soup.Address @interface { owned get; construct; }
 		public uint port { get; construct; }
@@ -465,7 +499,7 @@ namespace Soup {
 		public virtual signal void request_read (Soup.Message msg, Soup.ClientContext client);
 		public virtual signal void request_started (Soup.Message msg, Soup.ClientContext client);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_session_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Session : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Session ();
@@ -476,10 +510,10 @@ namespace Soup {
 		public unowned GLib.MainContext get_async_context ();
 		public unowned Soup.SessionFeature get_feature (GLib.Type feature_type);
 		public unowned Soup.SessionFeature get_feature_for_message (GLib.Type feature_type, Soup.Message msg);
-		public GLib.SList<weak Soup.SessionFeature> get_features (GLib.Type feature_type);
+		public GLib.SList<Soup.SessionFeature> get_features (GLib.Type feature_type);
 		public void pause_message (Soup.Message msg);
 		public void prepare_for_uri (Soup.URI uri);
-		public virtual void queue_message (owned Soup.Message msg, Soup.SessionCallback? callback);
+		public virtual void queue_message (owned Soup.Message msg, [CCode (delegate_target_pos = 2.1)] Soup.SessionCallback? callback);
 		public void remove_feature (Soup.SessionFeature feature);
 		public virtual void requeue_message (Soup.Message msg);
 		public virtual uint send_message (Soup.Message msg);
@@ -492,7 +526,7 @@ namespace Soup {
 		public Soup.SessionFeature add_feature { owned get; set; }
 		[NoAccessorMethod]
 		public GLib.Type add_feature_by_type { get; set; }
-		public GLib.MainContext async_context { get; construct; }
+		public GLib.MainContext async_context { get; owned construct; }
 		[NoAccessorMethod]
 		public uint idle_timeout { get; set; }
 		[NoAccessorMethod]
@@ -514,32 +548,32 @@ namespace Soup {
 		[NoAccessorMethod]
 		public string user_agent { owned get; set; }
 		public virtual signal void authenticate (Soup.Message msg, Soup.Auth auth, bool retrying);
-		public virtual signal void connection_created (GLib.Object p0);
-		public virtual signal void request_queued (Soup.Message p0);
+		public signal void connection_created (GLib.Object object);
+		public signal void request_queued (Soup.Message object);
 		public virtual signal void request_started (Soup.Message msg, Soup.Socket socket);
-		public virtual signal void request_unqueued (Soup.Message p0);
-		public virtual signal void tunneling (GLib.Object p0);
+		public signal void request_unqueued (Soup.Message object);
+		public signal void tunneling (GLib.Object object);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_session_async_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class SessionAsync : Soup.Session {
 		[CCode (type = "SoupSession*", has_construct_function = false)]
 		public SessionAsync ();
 		[CCode (type = "SoupSession*", has_construct_function = false)]
 		public SessionAsync.with_options (string optname1, ...);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_session_sync_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class SessionSync : Soup.Session {
 		[CCode (type = "SoupSession*", has_construct_function = false)]
 		public SessionSync ();
 		[CCode (type = "SoupSession*", has_construct_function = false)]
 		public SessionSync.with_options (string optname1, ...);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (type_id = "soup_socket_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class Socket : GLib.Object {
 		[CCode (has_construct_function = false)]
-		public Socket (string optname1);
-		public void connect_async (GLib.Cancellable cancellable, Soup.SocketCallback callback);
-		public uint connect_sync (GLib.Cancellable cancellable);
+		public Socket (string optname1, ...);
+		public void connect_async (GLib.Cancellable? cancellable, [CCode (delegate_target_pos = 2.1)] Soup.SocketCallback callback);
+		public uint connect_sync (GLib.Cancellable? cancellable);
 		public void disconnect ();
 		public int get_fd ();
 		public unowned Soup.Address get_local_address ();
@@ -547,13 +581,14 @@ namespace Soup {
 		public bool is_connected ();
 		public bool is_ssl ();
 		public bool listen ();
-		public Soup.SocketIOStatus read ([CCode (array_length_type = "gsize")] uint8[] buffer, out size_t nread, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public Soup.SocketIOStatus read_until ([CCode (array_length_type = "gsize")] uint8[] buffer, [CCode (array_length_type = "gsize")] uint8[] boundary, out size_t nread, out bool got_boundary, GLib.Cancellable? cancellable = null) throws GLib.Error;
-		public bool start_proxy_ssl (string ssl_host, GLib.Cancellable cancellable);
-		public bool start_ssl (GLib.Cancellable cancellable);
-		public Soup.SocketIOStatus write ([CCode (array_length_type = "gsize")] uint8[] buffer, out size_t nwrote, GLib.Cancellable? cancellable = null) throws GLib.Error;
+		public Soup.SocketIOStatus read ([CCode (type = "gpointer", array_length_type = "gsize", array_length_cname = "len", array_length_pos = 1.5)] uint8[] buffer, out size_t nread, GLib.Cancellable? cancellable) throws GLib.Error;
+		public Soup.SocketIOStatus read_until ([CCode (type = "gpointer", array_length_type = "gsize", array_length_cname = "len", array_length_pos = 1.5)] uint8[] buffer, void* boundary, size_t boundary_len, out size_t nread, bool got_boundary, GLib.Cancellable? cancellable) throws GLib.Error;
+		public bool start_proxy_ssl (string ssl_host, GLib.Cancellable? cancellable);
+		public bool start_ssl (GLib.Cancellable? cancellable);
+		public Soup.SocketIOStatus write ([CCode (type = "gconstpointer", array_length_type = "gsize", array_length_cname = "len", array_length_pos = 1.5)] uint8[] buffer, out size_t nwrote, GLib.Cancellable? cancellable) throws GLib.Error;
 		[NoAccessorMethod]
-		public GLib.MainContext async_context { get; construct; }
+		public GLib.MainContext async_context { owned get; owned construct; }
+		public bool clean_dispose { construct; }
 		[NoAccessorMethod]
 		public bool is_server { get; }
 		public Soup.Address local_address { get; construct; }
@@ -569,12 +604,12 @@ namespace Soup {
 		[NoAccessorMethod]
 		public bool trusted_certificate { get; construct; }
 		public virtual signal void disconnected ();
-		public virtual signal void new_connection (Soup.Socket p0);
+		public virtual signal void new_connection (Soup.Socket arg1);
 		public virtual signal void readable ();
 		public virtual signal void writable ();
 	}
 	[Compact]
-	[CCode (copy_function = "soup_uri_copy", type_id = "SOUP_TYPE_URI", cheader_filename = "libsoup/soup.h")]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_uri_get_type ()", cheader_filename = "libsoup/soup.h")]
 	public class URI {
 		public weak string fragment;
 		public weak string host;
@@ -587,12 +622,21 @@ namespace Soup {
 		[CCode (has_construct_function = false)]
 		public URI (string uri_string);
 		public Soup.URI copy ();
-		public unowned Soup.URI copy_host ();
+		public Soup.URI copy_host ();
 		public static string decode (string part);
 		public static string encode (string part, string? escape_extra);
 		public bool equal (Soup.URI uri2);
-		public static bool host_equal (Soup.URI v1, Soup.URI v2);
-		public static uint host_hash (Soup.URI key);
+		public void free ();
+		public unowned string get_fragment ();
+		public unowned string get_host ();
+		public unowned string get_password ();
+		public unowned string get_path ();
+		public uint get_port ();
+		public unowned string get_query ();
+		public unowned string get_scheme ();
+		public unowned string get_user ();
+		public static bool host_equal ([CCode (type = "gconstpointer")] Soup.URI v1, [CCode (type = "gconstpointer")] Soup.URI v2);
+		public static uint host_hash ([CCode (type = "gconstpointer")] Soup.URI key);
 		public static string normalize (string part, string unescape_extra);
 		public void set_fragment (string fragment);
 		public void set_host (string host);
@@ -609,17 +653,17 @@ namespace Soup {
 		[CCode (has_construct_function = false)]
 		public URI.with_base (Soup.URI @base, string uri_string);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupProxyResolverInterface", type_id = "soup_proxy_resolver_get_type ()")]
 	public interface ProxyResolver : Soup.SessionFeature, GLib.Object {
-		public abstract void get_proxy_async (Soup.Message msg, GLib.MainContext async_context, GLib.Cancellable cancellable, Soup.ProxyResolverCallback callback);
-		public abstract uint get_proxy_sync (Soup.Message msg, GLib.Cancellable cancellable, out unowned Soup.Address addr);
+		public abstract void get_proxy_async (Soup.Message msg, GLib.MainContext async_context, GLib.Cancellable? cancellable, [CCode (delegate_target_pos = 4.1)] Soup.ProxyResolverCallback callaback);
+		public abstract uint get_proxy_sync (Soup.Message msg, GLib.Cancellable? cancellable, out unowned Soup.Address addr);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupProxyURIResolverInterface", type_id = "soup_proxy_uri_resolver_get_type ()")]
 	public interface ProxyURIResolver : GLib.Object {
-		public abstract void get_proxy_uri_async (Soup.URI uri, GLib.MainContext async_context, GLib.Cancellable cancellable, Soup.ProxyURIResolverCallback callback);
-		public abstract uint get_proxy_uri_sync (Soup.URI uri, GLib.Cancellable cancellable, out unowned Soup.URI proxy_uri);
+		public abstract void get_proxy_uri_async (Soup.URI uri, GLib.MainContext? async_context, GLib.Cancellable? cancellable, [CCode (delegate_target_pos = 4.1)] Soup.ProxyURIResolverCallback callback);
+		public abstract uint get_proxy_uri_sync (Soup.URI uri, GLib.Cancellable? cancellable, out unowned Soup.URI proxy_uri);
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", type_cname = "SoupSessionFeatureInterface", type_id = "soup_session_feature_get_type ()")]
 	public interface SessionFeature : GLib.Object {
 		public abstract void attach (Soup.Session session);
 		public abstract void detach (Soup.Session session);
@@ -630,6 +674,18 @@ namespace Soup {
 		[NoWrapper]
 		public abstract void request_unqueued (Soup.Session session, Soup.Message msg);
 	}
+	[CCode (type_id = "SOUP_TYPE_MESSAGE_HEADERS_ITER", cheader_filename = "libsoup/soup.h")]
+	public struct MessageHeadersIter {
+		[CCode (array_length = false, array_null_terminated = true)]
+		public weak void*[] dummy;
+		public void init (Soup.MessageHeaders hdrs);
+		public bool next (out unowned string name, out unowned string value);
+	}
+	[CCode (type_id = "SOUP_TYPE_RANGE", cheader_filename = "libsoup/soup.h")]
+	public struct Range {
+		public int64 start;
+		public int64 end;
+	}
 	[CCode (cprefix = "SOUP_ADDRESS_FAMILY_", cheader_filename = "libsoup/soup.h")]
 	public enum AddressFamily {
 		INVALID,
@@ -774,13 +830,6 @@ namespace Soup {
 		RESPONSE,
 		MULTIPART
 	}
-	[CCode (cprefix = "SOUP_SSL_ERROR_", cheader_filename = "libsoup/soup.h")]
-	public enum SSLError {
-		HANDSHAKE_NEEDS_READ,
-		HANDSHAKE_NEEDS_WRITE,
-		CERTIFICATE,
-		HANDSHAKE_FAILED
-	}
 	[CCode (cprefix = "SOUP_SOCKET_", cheader_filename = "libsoup/soup.h")]
 	public enum SocketIOStatus {
 		OK,
@@ -788,33 +837,41 @@ namespace Soup {
 		EOF,
 		ERROR
 	}
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cprefix = "SOUP_SSL_ERROR_", cheader_filename = "libsoup/soup.h")]
+	public errordomain SSLError {
+		HANDSHAKE_NEEDS_READ,
+		HANDSHAKE_NEEDS_WRITE,
+		CERTIFICATE,
+		HANDSHAKE_FAILED;
+		public static GLib.Quark quark ();
+	}
+	[CCode (cheader_filename = "libsoup/soup.h", has_target = false)]
 	public delegate void AddressCallback (Soup.Address addr, uint status);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
 	public delegate bool AuthDomainBasicAuthCallback (Soup.AuthDomain domain, Soup.Message msg, string username, string password);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public delegate unowned string AuthDomainDigestAuthCallback (Soup.AuthDomain domain, Soup.Message msg, string username);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
+	public delegate string AuthDomainDigestAuthCallback (Soup.AuthDomain domain, Soup.Message msg, string username);
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
 	public delegate bool AuthDomainFilter (Soup.AuthDomain domain, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 3.9)]
 	public delegate bool AuthDomainGenericAuthCallback (Soup.AuthDomain domain, Soup.Message msg, string username);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public delegate unowned Soup.Buffer ChunkAllocator (Soup.Message msg, size_t max_len);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
+	public delegate Soup.Buffer ChunkAllocator (Soup.Message msg, size_t max_len);
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
 	public delegate Soup.LoggerLogLevel LoggerFilter (Soup.Logger logger, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 4.9)]
 	public delegate void LoggerPrinter (Soup.Logger logger, Soup.LoggerLogLevel level, char direction, string data);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
 	public delegate void MessageHeadersForeachFunc (string name, string value);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public delegate void ProxyResolverCallback (Soup.ProxyResolver p1, Soup.Message p2, uint p3, Soup.Address p4);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", has_target = false)]
 	public delegate void ProxyURIResolverCallback (Soup.ProxyURIResolver resolver, uint status, Soup.URI proxy_uri);
-	[CCode (cheader_filename = "libsoup/soup.h")]
-	public delegate void ServerCallback (Soup.Server server, Soup.Message msg, string path, GLib.HashTable<string,string> query, Soup.ClientContext client);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 5.9)]
+	public delegate void ServerCallback (Soup.Server server, Soup.Message msg, string path, GLib.HashTable<string,string>? query, Soup.ClientContext client);
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
 	public delegate void SessionCallback (Soup.Session session, Soup.Message msg);
-	[CCode (cheader_filename = "libsoup/soup.h")]
+	[CCode (cheader_filename = "libsoup/soup.h", instance_pos = 2.9)]
 	public delegate void SocketCallback (Soup.Socket sock, uint status);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const int ADDRESS_ANY_PORT;
@@ -913,8 +970,6 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const string FORM_MIME_TYPE_URLENCODED;
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public const int H;
-	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const int HEADERS_H;
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const int LOGGER_H;
@@ -935,6 +990,14 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const string MESSAGE_REASON_PHRASE;
 	[CCode (cheader_filename = "libsoup/soup.h")]
+	public const string MESSAGE_REQUEST_BODY;
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public const string MESSAGE_REQUEST_HEADERS;
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public const string MESSAGE_RESPONSE_BODY;
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public const string MESSAGE_RESPONSE_HEADERS;
+	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const string MESSAGE_SERVER_SIDE;
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const string MESSAGE_STATUS_CODE;
@@ -1037,17 +1100,19 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public const int XMLRPC_H;
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.TimeoutSource add_completion (GLib.MainContext async_context, GLib.SourceFunc function, void* data);
+	public static unowned GLib.TimeoutSource add_completion (GLib.MainContext? async_context, [CCode (delegate_target_pos = 2.1)] GLib.SourceFunc function);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.TimeoutSource add_idle (GLib.MainContext async_context, GLib.SourceFunc function, void* data);
+	public static unowned GLib.TimeoutSource add_idle (GLib.MainContext? async_context, [CCode (delegate_target_pos = 2.1)] GLib.SourceFunc function);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.TimeoutSource add_timeout (GLib.MainContext async_context, uint interval, GLib.SourceFunc function, void* data);
+	public static unowned GLib.TimeoutSource add_io_watch (GLib.MainContext? async_context, GLib.IOChannel chan, GLib.IOCondition condition, [CCode (delegate_target_pos = 4.1)] GLib.IOFunc function);
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public static unowned GLib.TimeoutSource add_timeout (GLib.MainContext? async_context, uint interval, [CCode (delegate_target_pos = 3.1)] GLib.SourceFunc function);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.SList<Soup.Cookie> cookies_from_request (Soup.Message msg);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.SList<Soup.Cookie> cookies_from_response (Soup.Message msg);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned string cookies_to_cookie_header (GLib.SList<Soup.Cookie> cookies);
+	public static string cookies_to_cookie_header (GLib.SList<Soup.Cookie> cookies);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static void cookies_to_request (GLib.SList<Soup.Cookie> cookies, Soup.Message msg);
 	[CCode (cheader_filename = "libsoup/soup.h")]
@@ -1085,27 +1150,30 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static bool header_contains (string header, string token);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void header_g_string_append_param (GLib.StringBuilder str, string name, string value);
+	public static void header_free_param_list (GLib.HashTable<string,string> param_list);
+	[CCode (cheader_filename = "libsoup/soup.h")]
+	public static void header_g_string_append_param (GLib.StringBuilder string, string name, string value);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void header_g_string_append_param_quoted (GLib.StringBuilder str, string name, string value);
+	public static void header_g_string_append_param_quoted (GLib.StringBuilder string, string name, string value);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.SList<string> header_parse_list (string header);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.HashTable<string,string> header_parse_param_list (string header);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static GLib.SList<string> header_parse_quality_list (string header, GLib.SList<string> unacceptable);
+	public static GLib.SList<string> header_parse_quality_list (string header, out GLib.SList<string> unacceptable);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.HashTable<string,string> header_parse_semi_param_list (string header);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static bool headers_parse (string str, int len, Soup.MessageHeaders dest);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static uint headers_parse_request (string str, int len, Soup.MessageHeaders req_headers, out unowned string req_method, out unowned string req_path, Soup.HTTPVersion ver);
+	public static uint headers_parse_request (string str, int len, Soup.MessageHeaders req_headers, out string req_method, out string req_path, out Soup.HTTPVersion ver);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool headers_parse_response (string str, int len, Soup.MessageHeaders headers, Soup.HTTPVersion ver, uint status_code, out unowned string reason_phrase);
+	public static bool headers_parse_response (string str, int len, Soup.MessageHeaders headers, out Soup.HTTPVersion ver, out uint status_code, out string reason_phrase);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool headers_parse_status_line (string status_line, Soup.HTTPVersion ver, uint status_code, out unowned string reason_phrase);
+	public static bool headers_parse_status_line (string status_line, out Soup.HTTPVersion ver, out uint status_code, out string reason_phrase);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.Quark http_error_quark ();
+	[Deprecated (since = "vala-0.14", replacement = "SSLError.quark")]
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static GLib.Quark ssl_error_quark ();
 	[CCode (cheader_filename = "libsoup/soup.h")]
@@ -1117,21 +1185,21 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static uint str_case_hash (void* key);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void value_array_append (GLib.ValueArray array, GLib.Type type);
+	public static void value_array_append (GLib.ValueArray array, GLib.Type type, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static void value_array_append_vals (GLib.ValueArray array, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.ValueArray value_array_from_args (void* args);
+	public static GLib.ValueArray value_array_from_args (va_list args);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool value_array_get_nth (GLib.ValueArray array, uint index_, GLib.Type type);
+	public static bool value_array_get_nth (GLib.ValueArray array, uint index_, GLib.Type type, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static void value_array_insert (GLib.ValueArray array, uint index_, GLib.Type type);
+	public static void value_array_insert (GLib.ValueArray array, uint index_, GLib.Type type, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.ValueArray value_array_new ();
+	public static GLib.ValueArray value_array_new ();
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static unowned GLib.ValueArray value_array_new_with_vals (...);
+	public static GLib.ValueArray value_array_new_with_vals (...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool value_array_to_args (GLib.ValueArray array, void* args);
+	public static bool value_array_to_args (GLib.ValueArray array, va_list args);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static void value_hash_insert (GLib.HashTable<string,GLib.Value> hash, string key, GLib.Type type, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
@@ -1139,7 +1207,7 @@ namespace Soup {
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static void value_hash_insert_value (GLib.HashTable<string,GLib.Value> hash, string key, GLib.Value value);
 	[CCode (cheader_filename = "libsoup/soup.h")]
-	public static bool value_hash_lookup (GLib.HashTable<string,GLib.Value> hash, string key, GLib.Type type);
+	public static bool value_hash_lookup (GLib.HashTable<string,GLib.Value> hash, string key, GLib.Type type, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
 	public static bool value_hash_lookup_vals (GLib.HashTable<string,GLib.Value> hash, ...);
 	[CCode (cheader_filename = "libsoup/soup.h")]
diff --git a/vapi/packages/libsoup-2.4/libsoup-2.4-custom.vala b/vapi/metadata/Soup-2.4-custom.vala
similarity index 74%
rename from vapi/packages/libsoup-2.4/libsoup-2.4-custom.vala
rename to vapi/metadata/Soup-2.4-custom.vala
index 4271899..88399dc 100644
--- a/vapi/packages/libsoup-2.4/libsoup-2.4-custom.vala
+++ b/vapi/metadata/Soup-2.4-custom.vala
@@ -1,4 +1,28 @@
 namespace Soup {
+	[CCode (type_id = "soup_auth_domain_basic_get_type ()", cheader_filename = "libsoup/soup.h")]
+	public class AuthDomainBasic : Soup.AuthDomain {
+		public static void set_auth_callback (Soup.AuthDomain domain, owned Soup.AuthDomainBasicAuthCallback callback);
+	}
+
+	[CCode (type_id = "soup_auth_domain_digest_get_type ()", cheader_filename = "libsoup/soup.h")]
+	public class AuthDomainDigest : Soup.AuthDomain {
+		public static void set_auth_callback (Soup.AuthDomain domain, owned Soup.AuthDomainDigestAuthCallback callback);
+	}
+
+	[Compact]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_buffer_get_type ()", cheader_filename = "libsoup/soup.h")]
+	public class Buffer {
+		[CCode (has_construct_function = false)]
+		public Buffer.subbuffer (Soup.Buffer parent, size_t offset, size_t length);
+	}
+
+	[Compact]
+	[CCode (copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "soup_uri_get_type ()", cheader_filename = "libsoup/soup.h")]
+	public class URI {
+		[CCode (has_construct_function = false)]
+		public URI.with_base (Soup.URI @base, string uri_string);
+	}
+
 	[Deprecated (since = "vala-0.12", replacement = "XMLRPC.build_fault")]
 	[PrintfFormat]
 	public static unowned string xmlrpc_build_fault (int fault_code, string fault_format, ...);
@@ -50,4 +74,7 @@ namespace Soup {
 	public static Soup.Message form_request_new_from_hash (string method, string uri, GLib.HashTable<string,string> form_data_set);
 	[Deprecated (since = "vala-0.12", replacement = "Form.request_new_from_multipart")]
 	public static Soup.Message form_request_new_from_multipart (string uri, Soup.Multipart multipart);
+	[Deprecated (since = "vala-0.14", replacement = "SSLError.quark")]
+	public static GLib.Quark ssl_error_quark ();
+	public delegate void ProxyResolverCallback (Soup.ProxyResolver p1, Soup.Message p2, uint p3, Soup.Address p4);
 }
diff --git a/vapi/metadata/Soup-2.4.metadata b/vapi/metadata/Soup-2.4.metadata
new file mode 100644
index 0000000..f031858
--- /dev/null
+++ b/vapi/metadata/Soup-2.4.metadata
@@ -0,0 +1,105 @@
+// Vala-specific
+AuthDomain
+	.add_path#property skip
+	.remove_path#property skip
+form_* parent="Soup.Form" name="form_(.+)"
+Session
+	.add_feature#method skip
+	.add_feature_by_type#method skip
+	.remove_feature_by_type#method skip
+xmlrpc_* parent="Soup.XMLRPC" name="xmlrpc_(.+)"
+XMLRPCFault parent="Soup.XMLRPC" name="Fault"
+XMLRPCError parent="Soup.XMLRPC" name="Error"
+xmlrpc_set_response.type skip
+HTTPVersion
+	.0 name="1_0"
+	.1 name="1_1"
+
+// Report upstream
+Soup cheader_filename="libsoup/soup.h"
+add_* skip=false type="unowned GLib.TimeoutSource"
+Address.equal_by_ip.* type="Soup.Address"
+Address.equal_by_name.* type="Soup.Address"
+AddressCallback.data skip
+AuthDomain
+	.challenge#virtual_method vfunc_name="challenge"
+	.basic_set_auth_callback skip
+	.digest_set_auth_callback skip
+AuthDomainBasic.new skip=false
+AuthDomainDigest.new skip=false
+Buffer.new.data type="uint8[]" array_length_idx=2
+Buffer.new_with_owner.data type="uint8[]" array_length_idx=1
+Buffer.new_subbuffer skip
+Buffer.new_with_owner.owner_dnotify nullable
+CookieJar.all_cookies type_arguments="Cookie"
+ContentSniffer.sniff.params type_arguments="string,string" nullable out owned
+form_* skip=false
+header_parse_list type_arguments="string"
+header_parse_quality_list type_arguments="string"
+	.unacceptable out type_arguments="string"
+Message
+	.add_header_handler skip=false
+	.add_status_code_handler skip=false
+	.set_request.req_body type="uint8[]" array_length_idx=3
+	.set_response.resp_body type="uint8[]" array_length_idx=3
+MessageHeaders
+	.get_content_disposition.* out owned
+	.get_content_type.* out owned
+	.get_content_*.params type_arguments="string,string"
+	.get_ranges.ranges out
+	.set_content_disposition.params type_arguments="string,string" nullable
+	.set_content_type.params type_arguments="string,string" nullable
+Multipart.get_part
+	.headers out
+	.body out
+Server
+	.new skip=false
+	.async_context type="GLib.MainContext"
+Session
+	.async_context type="GLib.MainContext"
+	.get_features type_arguments="weak Soup.SessionFeature"
+Session*.new_with_options skip=false
+Socket
+	.async_context type="GLib.MainContext"
+	.new skip=false
+	.read.buffer type="uint8[]" array_length_idx=1
+	.read.nread out
+	.read_until.buffer type="uint8[]" array_length_idx=1
+	.read_until.nread out
+	.write.buffer type="uint8[]" array_length_idx=1
+	.write.nwrote out
+	.*.cancellable nullable
+URI
+	.new_with_base skip
+	.set_query_from_fields skip=false
+uri_encode.escape_extra nullable
+uri_host_*.* type="Soup.URI"
+ProxyResolver
+	.get_proxy_async skip=false
+	.get_proxy_sync.addr out
+	.*.cancellable nullable
+ProxyResolverCallback skip
+ProxyResolverInterface.get_proxy_async skip=false
+ProxyURIResolver
+	.get_proxy_uri_sync.proxy_uri out
+ProxyURIResolverCallback.user_data skip
+xmlrpc_* skip=false
+xmlrpc_build_method_call.params array array_length_idx=2
+xmlrpc_extract_method_response throws="Soup.XMLRPC.Fault"
+        .error skip
+	.type skip
+value_* skip=false
+
+// Not enough GIR information
+Buffer.data type="uint8[]" array_length_field="length"
+MessageBody.data type="uint8[]" array_length_field="length"
+xmlrpc_parse_method_response throws="Soup.XMLRPC.Fault"
+Date
+	.new_from_time_t.when type="time_t"
+	.to_time_t type="time_t"
+xmlrpc_extract_method_call sentinel="G_TYPE_INVALID"
+xmlrpc_extract_method_response sentinel="G_TYPE_INVALID"
+xmlrpc_request_new sentinel="G_TYPE_INVALID"
+xmlrpc_set_fault printf_format
+xmlrpc_set_response sentinel="G_TYPE_INVALID"
+xmlrpc_build_fault printf_format



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