/* rest-extras-0.7.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "", gir_namespace = "RestExtras", gir_version = "0.7", lower_case_cprefix = "_")]
namespace Rest {
	[CCode (cheader_filename = "rest-extras/flickr-proxy.h", type_id = "flickr_proxy_get_type ()")]
	public class FlickrProxy : Rest.Proxy {
		[CCode (cname = "flickr_proxy_new", has_construct_function = false, type = "RestProxy*")]
		public FlickrProxy (string api_key, string shared_secret);
		[CCode (cname = "flickr_proxy_build_login_url")]
		public string build_login_url (string frob, string perms);
		[CCode (cname = "flickr_proxy_get_api_key")]
		public unowned string get_api_key ();
		[CCode (cname = "flickr_proxy_get_shared_secret")]
		public unowned string get_shared_secret ();
		[CCode (cname = "flickr_proxy_get_token")]
		public unowned string get_token ();
		[CCode (cname = "flickr_proxy_is_successful")]
		public static bool is_successful (Rest.XmlNode root) throws GLib.Error;
		[CCode (cname = "flickr_proxy_new_upload")]
		public Rest.FlickrProxyCall new_upload ();
		[CCode (cname = "flickr_proxy_new_upload_for_file")]
		public Rest.FlickrProxyCall new_upload_for_file (string filename) throws GLib.Error;
		[CCode (cname = "flickr_proxy_set_token")]
		public void set_token (string token);
		[CCode (cname = "flickr_proxy_sign")]
		public string sign (GLib.HashTable<void*,void*> @params);
		[CCode (cname = "flickr_proxy_new_with_token", has_construct_function = false, type = "RestProxy*")]
		public FlickrProxy.with_token (string api_key, string shared_secret, string token);
		[NoAccessorMethod]
		public string api_key { owned get; construct; }
		[NoAccessorMethod]
		public string shared_secret { owned get; construct; }
		[NoAccessorMethod]
		public string token { owned get; set; }
	}
	[CCode (cheader_filename = "rest-extras/flickr-proxy-call.h", type_id = "flickr_proxy_call_get_type ()")]
	public class FlickrProxyCall : Rest.ProxyCall {
		[CCode (has_construct_function = false)]
		protected FlickrProxyCall ();
		[NoAccessorMethod]
		public bool upload { construct; }
	}
	[CCode (cheader_filename = "rest-extras/lastfm-proxy.h", type_id = "lastfm_proxy_get_type ()")]
	public class LastfmProxy : Rest.Proxy {
		[CCode (cname = "lastfm_proxy_new", has_construct_function = false, type = "RestProxy*")]
		public LastfmProxy (string api_key, string secret);
		[CCode (cname = "lastfm_proxy_build_login_url")]
		public string build_login_url (string token);
		[CCode (cname = "lastfm_proxy_get_api_key")]
		public unowned string get_api_key ();
		[CCode (cname = "lastfm_proxy_get_secret")]
		public unowned string get_secret ();
		[CCode (cname = "lastfm_proxy_get_session_key")]
		public unowned string get_session_key ();
		[CCode (cname = "lastfm_proxy_is_successful")]
		public static bool is_successful (Rest.XmlNode root) throws GLib.Error;
		[CCode (cname = "lastfm_proxy_set_session_key")]
		public void set_session_key (string session_key);
		[CCode (cname = "lastfm_proxy_sign")]
		public string sign (GLib.HashTable<void*,void*> @params);
		[CCode (cname = "lastfm_proxy_new_with_session", has_construct_function = false, type = "RestProxy*")]
		public LastfmProxy.with_session (string api_key, string secret, string session_key);
		[NoAccessorMethod]
		public string api_key { owned get; construct; }
		[NoAccessorMethod]
		public string secret { owned get; construct; }
		[NoAccessorMethod]
		public string session_key { owned get; set; }
	}
	[CCode (cheader_filename = "rest-extras/lastfm-proxy-call.h", type_id = "lastfm_proxy_call_get_type ()")]
	public class LastfmProxyCall : Rest.ProxyCall {
		[CCode (has_construct_function = false)]
		protected LastfmProxyCall ();
	}
	[CCode (cheader_filename = "rest-extras/youtube-proxy.h", type_id = "youtube_proxy_get_type ()")]
	public class YoutubeProxy : Rest.Proxy {
		[CCode (cname = "youtube_proxy_new", has_construct_function = false, type = "RestProxy*")]
		public YoutubeProxy (string developer_key);
		[CCode (cname = "youtube_proxy_set_user_auth")]
		public void set_user_auth (string user_auth);
		[CCode (cname = "youtube_proxy_upload_async")]
		public bool upload_async (string filename, GLib.HashTable<void*,void*> fields, bool incomplete, [CCode (delegate_target_pos = 5.1, scope = "async")] Rest.YoutubeProxyUploadCallback callback, GLib.Object weak_object) throws GLib.Error;
		[CCode (cname = "youtube_proxy_new_with_auth", has_construct_function = false, type = "RestProxy*")]
		public YoutubeProxy.with_auth (string developer_key, string user_auth);
		[NoAccessorMethod]
		public string developer_key { owned get; construct; }
		[NoAccessorMethod]
		public string user_auth { owned get; set; }
	}
	[CCode (cheader_filename = "rest-extras/youtube-proxy.h", instance_pos = 6.9)]
	public delegate void YoutubeProxyUploadCallback (Rest.YoutubeProxy proxy, string payload, size_t total, size_t uploaded, GLib.Error error, GLib.Object weak_object);
}
