/* gnome-autoar-0.vapi generated by vapigen-0.42, do not modify. */

[CCode (cprefix = "Autoar", gir_namespace = "GnomeAutoar", gir_version = "0.1", lower_case_cprefix = "autoar_")]
namespace Autoar {
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", type_id = "autoar_compressor_get_type ()")]
	public class Compressor : GLib.Object {
		[CCode (has_construct_function = false)]
		protected Compressor ();
		public uint get_completed_files ();
		public uint64 get_completed_size ();
		public bool get_create_top_level_directory ();
		public uint get_files ();
		public Autoar.Filter get_filter ();
		public Autoar.Format get_format ();
		public int64 get_notify_interval ();
		public unowned GLib.File get_output_file ();
		public bool get_output_is_dest ();
		public uint64 get_size ();
		public static GLib.Quark quark ();
		public void set_notify_interval (int64 notify_interval);
		public void set_output_is_dest (bool output_is_dest);
		public void start (GLib.Cancellable? cancellable = null);
		public void start_async (GLib.Cancellable? cancellable = null);
		public uint completed_files { get; }
		public uint64 completed_size { get; }
		[NoAccessorMethod]
		public bool create_top_level_directory { get; set construct; }
		public uint files { get; }
		public int64 notify_interval { get; set construct; }
		public GLib.File output_file { get; construct; }
		public bool output_is_dest { get; set construct; }
		public uint64 size { get; }
		[NoAccessorMethod]
		public void* source_files { get; construct; }
		public signal void cancelled ();
		public signal void completed ();
		public signal void decide_dest (GLib.File destination);
		public signal void error (GLib.Error error);
		public signal void progress (uint64 completed_size, uint completed_files);
	}
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", type_id = "autoar_extractor_get_type ()")]
	public class Extractor : GLib.Object {
		[CCode (has_construct_function = false)]
		public Extractor (GLib.File source_file, GLib.File output_file);
		public uint get_completed_files ();
		public uint64 get_completed_size ();
		public bool get_delete_after_extraction ();
		public int64 get_notify_interval ();
		public unowned GLib.File get_output_file ();
		public bool get_output_is_dest ();
		public unowned GLib.File get_source_file ();
		public uint get_total_files ();
		public uint64 get_total_size ();
		public static GLib.Quark quark ();
		public void set_delete_after_extraction (bool delete_if_succeed);
		public void set_notify_interval (int64 notify_interval);
		public void set_output_is_dest (bool output_is_dest);
		public void start (GLib.Cancellable? cancellable = null);
		public void start_async (GLib.Cancellable? cancellable = null);
		public uint completed_files { get; }
		public uint64 completed_size { get; }
		public bool delete_after_extraction { get; set construct; }
		public int64 notify_interval { get; set construct; }
		public GLib.File output_file { get; construct; }
		public bool output_is_dest { get; set construct; }
		public GLib.File source_file { get; construct; }
		public uint total_files { get; }
		public uint64 total_size { get; }
		public signal void cancelled ();
		public signal void completed ();
		public signal uint conflict (GLib.File file, void* new_file);
		public signal GLib.Object decide_destination (GLib.File destination, void* files);
		public signal void error (GLib.Error error);
		public signal void progress (uint64 completed_size, uint completed_files);
		public signal void scanned (uint files);
	}
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", cprefix = "AUTOAR_CONFLICT_", has_type_id = false)]
	public enum ConflictAction {
		SKIP,
		OVERWRITE,
		CHANGE_DESTINATION
	}
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", cprefix = "AUTOAR_FILTER_", has_type_id = false)]
	public enum Filter {
		NONE,
		COMPRESS,
		GZIP,
		BZIP2,
		XZ,
		LZMA,
		LZIP,
		LZOP,
		GRZIP,
		LRZIP;
		public unowned string get_description ();
		public string get_description_libarchive ();
		public unowned string get_extension ();
		public int get_filter_libarchive ();
		public unowned string get_mime_type ();
		public bool is_valid ();
		public static int last ();
	}
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", cprefix = "AUTOAR_FORMAT_", has_type_id = false)]
	public enum Format {
		ZIP,
		TAR,
		CPIO,
		@7ZIP,
		AR_BSD,
		AR_SVR4,
		CPIO_NEWC,
		GNUTAR,
		ISO9660,
		PAX,
		USTAR,
		XAR;
		public string filter_get_description (Autoar.Filter filter);
		public string filter_get_extension (Autoar.Filter filter);
		public string filter_get_mime_type (Autoar.Filter filter);
		public unowned string get_description ();
		public string get_description_libarchive ();
		public unowned string get_extension ();
		public int get_format_libarchive ();
		public unowned string get_mime_type ();
		public bool is_valid ();
		public static int last ();
	}
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", has_target = false)]
	public delegate int FilterFunc (void* a);
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h", has_target = false)]
	public delegate int FormatFunc (void* a);
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h")]
	public static bool check_mime_type_supported (string mime_type);
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h")]
	public static GLib.Quark libarchive_quark ();
	[CCode (cheader_filename = "gnome-autoar/gnome-autoar.h")]
	public static bool query_mime_type_supported (GLib.File file);
}
