[vala] Add gdu and gdu-gtk bindings



commit 32e58c5db2477c3b057fac1ab62fa0adff012dde
Author: Jürg Billeter <j bitron ch>
Date:   Fri Apr 2 18:29:36 2010 +0200

    Add gdu and gdu-gtk bindings

 vapi/gdu-gtk.deps                       |    2 +
 vapi/gdu-gtk.vapi                       |  465 +++++
 vapi/gdu.deps                           |    1 +
 vapi/gdu.vapi                           |  545 ++++++
 vapi/packages/gdu-gtk/gdu-gtk.defines   |    3 +
 vapi/packages/gdu-gtk/gdu-gtk.deps      |    2 +
 vapi/packages/gdu-gtk/gdu-gtk.files     |    2 +
 vapi/packages/gdu-gtk/gdu-gtk.gi        | 1381 +++++++++++++++
 vapi/packages/gdu-gtk/gdu-gtk.metadata  |    3 +
 vapi/packages/gdu-gtk/gdu-gtk.namespace |    1 +
 vapi/packages/gdu/gdu.defines           |    2 +
 vapi/packages/gdu/gdu.deps              |    1 +
 vapi/packages/gdu/gdu.files             |    2 +
 vapi/packages/gdu/gdu.gi                | 2855 +++++++++++++++++++++++++++++++
 vapi/packages/gdu/gdu.metadata          |    3 +
 vapi/packages/gdu/gdu.namespace         |    1 +
 16 files changed, 5269 insertions(+), 0 deletions(-)
---
diff --git a/vapi/gdu-gtk.deps b/vapi/gdu-gtk.deps
new file mode 100644
index 0000000..23f42dd
--- /dev/null
+++ b/vapi/gdu-gtk.deps
@@ -0,0 +1,2 @@
+gdu
+gtk+-2.0
diff --git a/vapi/gdu-gtk.vapi b/vapi/gdu-gtk.vapi
new file mode 100644
index 0000000..977e4d5
--- /dev/null
+++ b/vapi/gdu-gtk.vapi
@@ -0,0 +1,465 @@
+/* gdu-gtk.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gdu", lower_case_cprefix = "gdu_")]
+namespace Gdu {
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class AddComponentLinuxMdDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public AddComponentLinuxMdDialog (Gtk.Window parent, Gdu.AddComponentLinuxMdFlags flags, Gdu.LinuxMdDrive linux_md_drive);
+		public unowned GLib.PtrArray get_drives ();
+		public uint64 get_size ();
+		public GLib.PtrArray drives { get; }
+		[NoAccessorMethod]
+		public Gdu.AddComponentLinuxMdFlags flags { get; construct; }
+		public uint64 size { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class AddPvLinuxLvm2Dialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public AddPvLinuxLvm2Dialog (Gtk.Window parent, Gdu.LinuxLvm2VolumeGroup vg);
+		public unowned Gdu.Drive get_drive ();
+		public uint64 get_size ();
+		public Gdu.Drive drive { get; }
+		public uint64 size { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class AtaSmartDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public AtaSmartDialog (Gtk.Window parent, Gdu.Drive drive);
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class ButtonElement : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public ButtonElement (string icon_name, string primary_text, string secondary_text);
+		public unowned string get_icon_name ();
+		public unowned string get_primary_text ();
+		public unowned string get_secondary_text ();
+		public bool get_visible ();
+		public void set_icon_name (string icon_name);
+		public void set_primary_text (string primary_text);
+		public void set_secondary_text (string primary_text);
+		public void set_visible (bool visible);
+		public string icon_name { get; set construct; }
+		public string primary_text { get; set construct; }
+		public string secondary_text { get; set construct; }
+		public bool visible { get; set construct; }
+		public virtual signal void changed ();
+		public virtual signal void clicked ();
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class ButtonTable : Gtk.HBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ButtonTable (uint num_columns, GLib.PtrArray elements);
+		public unowned GLib.PtrArray get_elements ();
+		public uint get_num_columns ();
+		public void set_elements (GLib.PtrArray elements);
+		public void set_num_columns (uint num_columns);
+		public GLib.PtrArray elements { get; set construct; }
+		public uint num_columns { get; set construct; }
+	}
+	[Compact]
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Color {
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class ConfirmationDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ConfirmationDialog (Gtk.Window parent, Gdu.Presentable presentable, string message, string button_text);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ConfirmationDialog.for_drive (Gtk.Window parent, Gdu.Device device, string message, string button_text);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ConfirmationDialog.for_volume (Gtk.Window parent, Gdu.Device device, string message, string button_text);
+		[NoAccessorMethod]
+		public string button_text { owned get; construct; }
+		[NoAccessorMethod]
+		public string message { owned get; construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class ConnectToServerDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ConnectToServerDialog (Gtk.Window parent);
+		public unowned string get_address ();
+		public unowned string get_user_name ();
+		public string address { get; }
+		public string user_name { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class CreateLinuxLvm2VolumeDialog : Gdu.FormatDialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public CreateLinuxLvm2VolumeDialog (Gtk.Window parent, Gdu.Presentable presentable, uint64 max_size, Gdu.FormatDialogFlags flags);
+		public uint64 get_max_size ();
+		public uint64 get_size ();
+		public uint64 max_size { get; construct; }
+		public uint64 size { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class CreateLinuxMdDialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public CreateLinuxMdDialog (Gtk.Window parent, Gdu.Pool pool);
+		public uint64 get_component_size ();
+		public unowned GLib.PtrArray get_drives ();
+		public unowned string get_level ();
+		public uint64 get_size ();
+		public uint64 get_stripe_size ();
+		public uint64 component_size { get; }
+		public GLib.PtrArray drives { get; }
+		public string level { get; }
+		public string name { get; }
+		[NoAccessorMethod]
+		public Gdu.Pool pool { owned get; construct; }
+		public uint64 size { get; }
+		public uint64 stripe_size { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class CreatePartitionDialog : Gdu.FormatDialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public CreatePartitionDialog (Gtk.Window parent, Gdu.Presentable presentable, uint64 max_size, Gdu.FormatDialogFlags flags);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public CreatePartitionDialog.for_drive (Gtk.Window parent, Gdu.Device device, uint64 max_size, Gdu.FormatDialogFlags flags);
+		public uint64 get_max_size ();
+		public uint64 get_size ();
+		public uint64 max_size { get; construct; }
+		public uint64 size { get; }
+	}
+	[Compact]
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Curve {
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class DetailsElement : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public DetailsElement (string heading, string text, string tooltip);
+		public unowned string get_action_text ();
+		public unowned string get_action_tooltip ();
+		public unowned string get_action_uri ();
+		public unowned string get_heading ();
+		public unowned GLib.Icon get_icon ();
+		public bool get_is_spinning ();
+		public double get_progress ();
+		public unowned string get_text ();
+		public uint64 get_time ();
+		public unowned string get_tooltip ();
+		public unowned Gtk.Widget get_widget ();
+		public void set_action_text (string action_text);
+		public void set_action_tooltip (string action_tooltip);
+		public void set_action_uri (string action_uri);
+		public void set_heading (string heading);
+		public void set_icon (GLib.Icon icon);
+		public void set_is_spinning (bool is_spinning);
+		public void set_progress (double progress);
+		public void set_text (string text);
+		public void set_time (uint64 time);
+		public void set_tooltip (string tooltip);
+		public void set_widget (Gtk.Widget widget);
+		public string action_text { get; set construct; }
+		public string action_tooltip { get; set construct; }
+		public string action_uri { get; set construct; }
+		public string heading { get; set construct; }
+		public GLib.Icon icon { get; set construct; }
+		public bool is_spinning { get; set construct; }
+		public double progress { get; set construct; }
+		public string text { get; set construct; }
+		public uint64 time { get; set construct; }
+		public string tooltip { get; set construct; }
+		public Gtk.Widget widget { get; set construct; }
+		public virtual signal void activated (string uri);
+		public virtual signal void changed ();
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class DetailsTable : Gtk.HBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public DetailsTable (uint num_columns, GLib.PtrArray elements);
+		public unowned GLib.PtrArray get_elements ();
+		public uint get_num_columns ();
+		public void set_elements (GLib.PtrArray elements);
+		public void set_num_columns (uint num_columns);
+		public GLib.PtrArray elements { get; set construct; }
+		public uint num_columns { get; set construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Dialog : Gtk.Dialog, Atk.Implementor, Gtk.Buildable {
+		public unowned Gdu.Device get_device ();
+		public unowned Gdu.Pool get_pool ();
+		public unowned Gdu.Presentable get_presentable ();
+		public Gdu.Device drive_device { construct; }
+		public Gdu.Presentable presentable { get; construct; }
+		public Gdu.Device volume_device { construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class DiskSelectionWidget : Gtk.VBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public DiskSelectionWidget (Gdu.Pool pool, Gdu.DiskSelectionWidgetFlags flags);
+		public uint64 get_component_size ();
+		public uint64 get_largest_segment_for_all ();
+		public uint64 get_largest_segment_for_selected ();
+		public uint get_num_available_disks ();
+		public unowned GLib.PtrArray get_selected_drives ();
+		public void set_component_size (uint64 component_size);
+		public uint64 component_size { get; set; }
+		[NoAccessorMethod]
+		public Gdu.DiskSelectionWidgetFlags flags { get; construct; }
+		public uint64 largest_segment_for_all { get; }
+		public uint64 largest_segment_for_selected { get; }
+		public uint num_available_disks { get; }
+		[NoAccessorMethod]
+		public Gdu.Pool pool { owned get; construct; }
+		public GLib.PtrArray selected_drives { get; }
+		public virtual signal void changed ();
+		public virtual signal unowned string is_drive_ignored (Gdu.Drive drive);
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class DriveBenchmarkDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public DriveBenchmarkDialog (Gtk.Window parent, Gdu.Drive drive);
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class EditLinuxLvm2Dialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public EditLinuxLvm2Dialog (Gtk.Window parent, Gdu.LinuxLvm2VolumeGroup vg);
+		public virtual signal void new_button_clicked ();
+		public virtual signal void remove_button_clicked (string pv_uuid);
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class EditLinuxMdDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public EditLinuxMdDialog (Gtk.Window parent, Gdu.LinuxMdDrive linux_md_drive);
+		public virtual signal void add_spare_button_clicked ();
+		public virtual signal void attach_button_clicked (Gdu.Device slave);
+		public virtual signal void expand_button_clicked ();
+		public virtual signal void remove_button_clicked (Gdu.Device slave);
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class EditNameDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public EditNameDialog (Gtk.Window parent, Gdu.Presentable presentable, string name, uint name_max_bytes, string message, string entry_mnemonic);
+		[NoAccessorMethod]
+		public string entry_mnemonic { owned get; construct; }
+		[NoAccessorMethod]
+		public string message { owned get; construct; }
+		public string name { get; set; }
+		[NoAccessorMethod]
+		public uint name_max_bytes { get; construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class EditPartitionDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public EditPartitionDialog (Gtk.Window parent, Gdu.Presentable volume);
+		public unowned string get_partition_flags ();
+		public unowned string get_partition_label ();
+		public unowned string get_partition_type ();
+		[CCode (array_length = false, array_null_terminated = true)]
+		public string[] partition_flags { get; }
+		public string partition_label { get; }
+		public string partition_type { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class ErrorDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ErrorDialog (Gtk.Window parent, Gdu.Presentable presentable, string message, GLib.Error error);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ErrorDialog.for_drive (Gtk.Window parent, Gdu.Device device, string message, GLib.Error error);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public ErrorDialog.for_volume (Gtk.Window parent, Gdu.Device device, string message, GLib.Error error);
+		[NoAccessorMethod]
+		public Gdu.Error error { get; construct; }
+		[NoAccessorMethod]
+		public string message { owned get; construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class FormatDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public FormatDialog (Gtk.Window parent, Gdu.Presentable presentable, Gdu.FormatDialogFlags flags);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public FormatDialog.for_drive (Gtk.Window parent, Gdu.Device device, Gdu.FormatDialogFlags flags);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public FormatDialog.for_volume (Gtk.Window parent, Gdu.Device device, Gdu.FormatDialogFlags flags);
+		public bool get_encrypt ();
+		public unowned string get_fs_label ();
+		public unowned string get_fs_options ();
+		public unowned string get_fs_type ();
+		public unowned Gtk.Widget get_table ();
+		public bool get_take_ownership ();
+		public string affirmative_button_mnemonic { construct; }
+		public bool encrypt { get; }
+		[NoAccessorMethod]
+		public Gdu.FormatDialogFlags flags { get; construct; }
+		public string fs_label { get; }
+		[CCode (array_length = false, array_null_terminated = true)]
+		public string[] fs_options { get; }
+		public string fs_type { get; }
+		public bool take_ownership { get; }
+	}
+	[Compact]
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Graph {
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class PartitionDialog : Gdu.Dialog, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public PartitionDialog (Gtk.Window parent, Gdu.Presentable presentable);
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public PartitionDialog.for_drive (Gtk.Window parent, Gdu.Device device);
+		public unowned string get_scheme ();
+		public string scheme { get; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class PoolTreeModel : Gtk.TreeStore, Gtk.TreeModel, Gtk.TreeDragSource, Gtk.TreeDragDest, Gtk.TreeSortable, Gtk.Buildable {
+		[CCode (has_construct_function = false)]
+		public PoolTreeModel (GLib.PtrArray pools, Gdu.Presentable root, Gdu.PoolTreeModelFlags flags);
+		public bool get_iter_for_presentable (Gdu.Presentable presentable, Gtk.TreeIter out_iter);
+		public void set_pools (GLib.PtrArray pools);
+		[NoAccessorMethod]
+		public Gdu.PoolTreeModelFlags flags { get; construct; }
+		[NoAccessorMethod]
+		public GLib.PtrArray pools { owned get; set construct; }
+		[NoAccessorMethod]
+		public Gdu.Presentable root { owned get; construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class PoolTreeView : Gtk.TreeView, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public PoolTreeView (Gdu.PoolTreeModel model, Gdu.PoolTreeViewFlags flags);
+		public unowned Gdu.Presentable get_selected_presentable ();
+		public void select_first_presentable ();
+		public void select_presentable (Gdu.Presentable presentable);
+		[NoAccessorMethod]
+		public Gdu.PoolTreeViewFlags flags { get; construct; }
+		[NoAccessorMethod]
+		public Gdu.PoolTreeModel pool_tree_model { owned get; construct; }
+	}
+	[Compact]
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Sample {
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class SizeWidget : Gtk.HBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public SizeWidget (uint64 size, uint64 min_size, uint64 max_size);
+		public uint64 get_max_size ();
+		public uint64 get_min_size ();
+		public uint64 get_size ();
+		public void set_max_size (uint64 max_size);
+		public void set_min_size (uint64 min_size);
+		public void set_size (uint64 size);
+		public uint64 max_size { get; set construct; }
+		public uint64 min_size { get; set construct; }
+		public uint64 size { get; set construct; }
+		public virtual signal void changed ();
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class Spinner : Gtk.DrawingArea, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public Spinner ();
+		public void start ();
+		public void stop ();
+		[NoAccessorMethod]
+		public string color { set construct; }
+		public uint lines { construct; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class TimeLabel : Gtk.Label, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public TimeLabel (GLib.TimeVal time);
+		public void set_time (GLib.TimeVal time);
+		[NoAccessorMethod]
+		public GLib.TimeVal time { get; set; }
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public class VolumeGrid : Gtk.DrawingArea, Atk.Implementor, Gtk.Buildable {
+		[CCode (type = "GtkWidget*", has_construct_function = false)]
+		public VolumeGrid (Gdu.Drive drive);
+		public unowned Gdu.Presentable get_selected ();
+		public bool select (Gdu.Presentable volume);
+		[NoAccessorMethod]
+		public Gdu.Drive drive { owned get; construct; }
+		public virtual signal void changed ();
+	}
+	[CCode (cprefix = "GDU_ADD_COMPONENT_LINUX_MD_FLAGS_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	[Flags]
+	public enum AddComponentLinuxMdFlags {
+		NONE,
+		SPARE,
+		EXPANSION
+	}
+	[CCode (cprefix = "GDU_DISK_SELECTION_WIDGET_FLAGS_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	[Flags]
+	public enum DiskSelectionWidgetFlags {
+		NONE,
+		ALLOW_MULTIPLE,
+		ALLOW_DISKS_WITH_INSUFFICIENT_SPACE
+	}
+	[CCode (cprefix = "GDU_FORMAT_DIALOG_FLAGS_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	[Flags]
+	public enum FormatDialogFlags {
+		NONE,
+		SIMPLE,
+		DISK_UTILITY_BUTTON,
+		ALLOW_MSDOS_EXTENDED
+	}
+	[CCode (cprefix = "GDU_POOL_TREE_MODEL_COLUMN_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public enum PoolTreeModelColumn {
+		ICON,
+		NAME,
+		VPD_NAME,
+		DESCRIPTION,
+		PRESENTABLE,
+		VISIBLE,
+		TOGGLED,
+		CAN_BE_TOGGLED
+	}
+	[CCode (cprefix = "GDU_POOL_TREE_MODEL_FLAGS_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	[Flags]
+	public enum PoolTreeModelFlags {
+		NONE,
+		NO_VOLUMES,
+		NO_UNALLOCATABLE_DRIVES
+	}
+	[CCode (cprefix = "GDU_POOL_TREE_VIEW_FLAGS_", cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	[Flags]
+	public enum PoolTreeViewFlags {
+		NONE,
+		SHOW_TOGGLE
+	}
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_delete_confirmation_dialog (Gtk.Widget parent_window, string title, string primary_text, string secondary_text, string affirmative_action_button_mnemonic);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned string util_dialog_ask_for_new_secret (Gtk.Widget parent_window, bool save_in_keyring, bool save_in_keyring_session);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned string util_dialog_ask_for_secret (Gtk.Widget parent_window, Gdu.Presentable presentable, bool bypass_keyring, bool indicate_wrong_passphrase, bool asked_user);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_dialog_change_secret (Gtk.Widget parent_window, Gdu.Presentable presentable, out unowned string old_secret, out unowned string new_secret, bool save_in_keyring, bool save_in_keyring_session, bool bypass_keyring, bool indicate_wrong_passphrase);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_dialog_show_filesystem_busy (Gtk.Widget parent_window, Gdu.Presentable presentable);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned Gtk.Widget util_fstype_combo_box_create (Gdu.Pool pool, string include_extended_partitions_for_scheme);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned string util_fstype_combo_box_get_selected (Gtk.Widget combo_box);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static void util_fstype_combo_box_rebuild (Gtk.Widget combo_box, Gdu.Pool pool, string include_extended_partitions_for_scheme);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_fstype_combo_box_select (Gtk.Widget combo_box, string fstype);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static void util_fstype_combo_box_set_desc_label (Gtk.Widget combo_box, Gtk.Widget desc_label);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static void util_get_mix_color (Gtk.Widget widget, Gtk.StateType state, string color_buf, size_t color_buf_size);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned Gdk.Pixbuf util_get_pixbuf_for_presentable (Gdu.Presentable presentable, Gtk.IconSize size);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned Gdk.Pixbuf util_get_pixbuf_for_presentable_at_pixel_size (Gdu.Presentable presentable, int pixel_size);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned Gtk.Widget util_part_table_type_combo_box_create ();
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned string util_part_table_type_combo_box_get_selected (Gtk.Widget combo_box);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_part_table_type_combo_box_select (Gtk.Widget combo_box, string part_table_type);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static void util_part_table_type_combo_box_set_desc_label (Gtk.Widget combo_box, Gtk.Widget desc_label);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned Gtk.Widget util_part_type_combo_box_create (string part_scheme);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static unowned string util_part_type_combo_box_get_selected (Gtk.Widget combo_box);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static void util_part_type_combo_box_rebuild (Gtk.Widget combo_box, string part_scheme);
+	[CCode (cheader_filename = "gdu-gtk/gdu-gtk.h")]
+	public static bool util_part_type_combo_box_select (Gtk.Widget combo_box, string part_type);
+}
diff --git a/vapi/gdu.deps b/vapi/gdu.deps
new file mode 100644
index 0000000..cd10dfd
--- /dev/null
+++ b/vapi/gdu.deps
@@ -0,0 +1 @@
+gio-2.0
diff --git a/vapi/gdu.vapi b/vapi/gdu.vapi
new file mode 100644
index 0000000..4cc9d94
--- /dev/null
+++ b/vapi/gdu.vapi
@@ -0,0 +1,545 @@
+/* gdu.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Gdu", lower_case_cprefix = "gdu_")]
+namespace Gdu {
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Adapter : GLib.Object {
+		public unowned string get_driver ();
+		public unowned string get_fabric ();
+		public unowned string get_model ();
+		public unowned string get_native_path ();
+		public uint get_num_ports ();
+		public unowned string get_object_path ();
+		public unowned Gdu.Pool get_pool ();
+		public unowned string get_vendor ();
+		public virtual signal void changed ();
+		public virtual signal void removed ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Device : GLib.Object {
+		public void* drive_ata_smart_get_blob (size_t out_size);
+		public bool drive_ata_smart_get_is_available ();
+		public unowned string drive_ata_smart_get_status ();
+		public uint64 drive_ata_smart_get_time_collected ();
+		public void drive_ata_smart_refresh_data (Gdu.DeviceDriveAtaSmartRefreshDataCompletedFunc callback);
+		public unowned string drive_get_adapter ();
+		public bool drive_get_can_detach ();
+		public bool drive_get_can_spindown ();
+		public unowned string drive_get_connection_interface ();
+		public uint64 drive_get_connection_speed ();
+		public bool drive_get_is_media_ejectable ();
+		public bool drive_get_is_rotational ();
+		public unowned string drive_get_media ();
+		public unowned string drive_get_media_compatibility ();
+		public unowned string drive_get_model ();
+		public unowned string drive_get_ports ();
+		public bool drive_get_requires_eject ();
+		public unowned string drive_get_revision ();
+		public uint drive_get_rotation_rate ();
+		public unowned string drive_get_serial ();
+		public unowned string drive_get_similar_devices ();
+		public unowned string drive_get_vendor ();
+		public unowned string drive_get_write_cache ();
+		public unowned string drive_get_wwn ();
+		public void filesystem_list_open_files (Gdu.DeviceFilesystemListOpenFilesCompletedFunc callback);
+		public unowned GLib.List filesystem_list_open_files_sync () throws GLib.Error;
+		public unowned Gdu.Device find_parent ();
+		public uint64 get_block_size ();
+		public uint64 get_detection_time ();
+		public ulong get_dev ();
+		public unowned string get_device_file ();
+		public unowned string get_device_file_presentation ();
+		public uint64 get_media_detection_time ();
+		public unowned string get_mount_path ();
+		public unowned string get_mount_paths ();
+		public ulong get_mounted_by_uid ();
+		public unowned string get_object_path ();
+		public unowned Gdu.Pool get_pool ();
+		public bool get_presentation_hide ();
+		public unowned string get_presentation_icon_name ();
+		public unowned string get_presentation_name ();
+		public bool get_presentation_nopolicy ();
+		public uint64 get_size ();
+		public unowned string id_get_label ();
+		public unowned string id_get_type ();
+		public unowned string id_get_usage ();
+		public unowned string id_get_uuid ();
+		public unowned string id_get_version ();
+		public bool is_drive ();
+		public bool is_linux_dmmp ();
+		public bool is_linux_dmmp_component ();
+		public bool is_linux_loop ();
+		public bool is_linux_lvm2_lv ();
+		public bool is_linux_lvm2_pv ();
+		public bool is_linux_md ();
+		public bool is_linux_md_component ();
+		public bool is_luks ();
+		public bool is_luks_cleartext ();
+		public bool is_media_available ();
+		public bool is_media_change_detected ();
+		public bool is_media_change_detection_inhibitable ();
+		public bool is_media_change_detection_inhibited ();
+		public bool is_media_change_detection_polling ();
+		public bool is_mounted ();
+		public bool is_optical_disc ();
+		public bool is_partition ();
+		public bool is_partition_table ();
+		public bool is_read_only ();
+		public bool is_removable ();
+		public bool is_system_internal ();
+		public unowned string job_get_id ();
+		public ulong job_get_initiated_by_uid ();
+		public double job_get_percentage ();
+		public bool job_in_progress ();
+		public bool job_is_cancellable ();
+		public unowned string linux_dmmp_component_get_holder ();
+		public unowned string linux_dmmp_get_name ();
+		public unowned string linux_dmmp_get_parameters ();
+		public unowned string linux_dmmp_get_slaves ();
+		public unowned string linux_loop_get_filename ();
+		public unowned string linux_lvm2_lv_get_group_name ();
+		public unowned string linux_lvm2_lv_get_group_uuid ();
+		public unowned string linux_lvm2_lv_get_name ();
+		public unowned string linux_lvm2_lv_get_uuid ();
+		public uint64 linux_lvm2_pv_get_group_extent_size ();
+		public unowned string linux_lvm2_pv_get_group_logical_volumes ();
+		public unowned string linux_lvm2_pv_get_group_name ();
+		public unowned string linux_lvm2_pv_get_group_physical_volumes ();
+		public uint64 linux_lvm2_pv_get_group_sequence_number ();
+		public uint64 linux_lvm2_pv_get_group_size ();
+		public uint64 linux_lvm2_pv_get_group_unallocated_size ();
+		public unowned string linux_lvm2_pv_get_group_uuid ();
+		public uint linux_lvm2_pv_get_num_metadata_areas ();
+		public unowned string linux_lvm2_pv_get_uuid ();
+		public unowned string linux_md_component_get_holder ();
+		public unowned string linux_md_component_get_home_host ();
+		public unowned string linux_md_component_get_level ();
+		public unowned string linux_md_component_get_name ();
+		public int linux_md_component_get_num_raid_devices ();
+		public int linux_md_component_get_position ();
+		public unowned string linux_md_component_get_state ();
+		public unowned string linux_md_component_get_uuid ();
+		public unowned string linux_md_component_get_version ();
+		public unowned string linux_md_get_home_host ();
+		public unowned string linux_md_get_level ();
+		public unowned string linux_md_get_name ();
+		public int linux_md_get_num_raid_devices ();
+		public unowned string linux_md_get_slaves ();
+		public unowned string linux_md_get_state ();
+		public unowned string linux_md_get_sync_action ();
+		public double linux_md_get_sync_percentage ();
+		public uint64 linux_md_get_sync_speed ();
+		public unowned string linux_md_get_uuid ();
+		public unowned string linux_md_get_version ();
+		public bool linux_md_is_degraded ();
+		public unowned string luks_cleartext_get_slave ();
+		public ulong luks_cleartext_unlocked_by_uid ();
+		public unowned string luks_get_holder ();
+		public void op_cancel_job (Gdu.DeviceCancelJobCompletedFunc callback);
+		public void op_drive_ata_smart_initiate_selftest (string test, Gdu.DeviceDriveAtaSmartInitiateSelftestCompletedFunc callback);
+		public void op_drive_benchmark (bool do_write_benchmark, string options, Gdu.DeviceDriveBenchmarkCompletedFunc callback);
+		public void op_drive_detach (Gdu.DeviceDriveDetachCompletedFunc callback);
+		public void op_drive_eject (Gdu.DeviceDriveEjectCompletedFunc callback);
+		public void op_drive_poll_media (Gdu.DeviceDrivePollMediaCompletedFunc callback);
+		public void op_filesystem_check (Gdu.DeviceFilesystemCheckCompletedFunc callback);
+		public void op_filesystem_create (string fstype, string fslabel, string encrypt_passphrase, bool fs_take_ownership, Gdu.DeviceFilesystemCreateCompletedFunc callback);
+		public void op_filesystem_mount (string options, Gdu.DeviceFilesystemMountCompletedFunc callback);
+		public void op_filesystem_set_label (string new_label, Gdu.DeviceFilesystemSetLabelCompletedFunc callback);
+		public void op_filesystem_unmount (Gdu.DeviceFilesystemUnmountCompletedFunc callback);
+		public void op_linux_lvm2_lv_stop (Gdu.DeviceLinuxLvm2LVStopCompletedFunc callback);
+		public void op_linux_md_add_spare (string component_objpath, Gdu.DeviceLinuxMdAddSpareCompletedFunc callback);
+		public void op_linux_md_check (string options, Gdu.DeviceLinuxMdCheckCompletedFunc callback);
+		public void op_linux_md_expand (GLib.PtrArray component_objpaths, Gdu.DeviceLinuxMdExpandCompletedFunc callback);
+		public void op_linux_md_remove_component (string component_objpath, Gdu.DeviceLinuxMdRemoveComponentCompletedFunc callback);
+		public void op_linux_md_stop (Gdu.DeviceLinuxMdStopCompletedFunc callback);
+		public void op_luks_change_passphrase (string old_secret, string new_secret, Gdu.DeviceLuksChangePassphraseCompletedFunc callback);
+		public void op_luks_lock (Gdu.DeviceLuksLockCompletedFunc callback);
+		public void op_luks_unlock (string secret, Gdu.DeviceLuksUnlockCompletedFunc callback);
+		public void op_partition_create (uint64 offset, uint64 size, string type, string label, out unowned string flags, string fstype, string fslabel, string encrypt_passphrase, bool fs_take_ownership, Gdu.DevicePartitionCreateCompletedFunc callback);
+		public void op_partition_delete (Gdu.DevicePartitionDeleteCompletedFunc callback);
+		public void op_partition_modify (string type, string label, out unowned string flags, Gdu.DevicePartitionModifyCompletedFunc callback);
+		public void op_partition_table_create (string scheme, Gdu.DevicePartitionTableCreateCompletedFunc callback);
+		public bool optical_disc_get_is_appendable ();
+		public bool optical_disc_get_is_blank ();
+		public bool optical_disc_get_is_closed ();
+		public uint optical_disc_get_num_audio_tracks ();
+		public uint optical_disc_get_num_sessions ();
+		public uint optical_disc_get_num_tracks ();
+		public uint64 partition_get_alignment_offset ();
+		public unowned string partition_get_flags ();
+		public unowned string partition_get_label ();
+		public int partition_get_number ();
+		public uint64 partition_get_offset ();
+		public unowned string partition_get_scheme ();
+		public uint64 partition_get_size ();
+		public unowned string partition_get_slave ();
+		public unowned string partition_get_type ();
+		public unowned string partition_get_uuid ();
+		public int partition_table_get_count ();
+		public unowned string partition_table_get_scheme ();
+		public bool should_ignore ();
+		public virtual signal void changed ();
+		public virtual signal void job_changed ();
+		public virtual signal void removed ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Drive : GLib.Object, Gdu.Presentable {
+		public virtual void activate (Gdu.DriveActivateFunc callback);
+		public virtual bool can_activate (bool out_degraded);
+		public virtual bool can_create_volume (bool out_is_uninitialized, uint64 out_largest_contiguous_free_segment, uint64 out_total_free, out unowned Gdu.Presentable out_presentable);
+		public virtual bool can_deactivate ();
+		public bool count_mbr_partitions (uint out_num_primary_partitions, bool out_has_extended_partition);
+		public virtual void create_volume (uint64 size, string name, Gdu.CreateVolumeFlags flags, GLib.AsyncReadyCallback callback);
+		public virtual unowned Gdu.Volume create_volume_finish (GLib.AsyncResult res) throws GLib.Error;
+		public virtual void deactivate (Gdu.DriveDeactivateFunc callback);
+		public unowned GLib.List get_volumes ();
+		public virtual bool is_activatable ();
+		public virtual bool is_active ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Expander : GLib.Object {
+		public unowned string get_adapter ();
+		public unowned string get_model ();
+		public unowned string get_native_path ();
+		public uint get_num_ports ();
+		public unowned string get_object_path ();
+		public unowned Gdu.Pool get_pool ();
+		public unowned string get_revision ();
+		public unowned string get_upstream_ports ();
+		public unowned string get_vendor ();
+		public virtual signal void changed ();
+		public virtual signal void removed ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Hub : GLib.Object, Gdu.Presentable {
+		public unowned Gdu.Adapter get_adapter ();
+		public unowned Gdu.Expander get_expander ();
+		public Gdu.HubUsage get_usage ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class KnownFilesystem : GLib.Object {
+		public bool get_can_create ();
+		public bool get_can_mount ();
+		public unowned string get_id ();
+		public uint get_max_label_len ();
+		public unowned string get_name ();
+		public bool get_supports_fsck ();
+		public bool get_supports_label_rename ();
+		public bool get_supports_online_fsck ();
+		public bool get_supports_online_label_rename ();
+		public bool get_supports_online_resize_enlarge ();
+		public bool get_supports_online_resize_shrink ();
+		public bool get_supports_resize_enlarge ();
+		public bool get_supports_resize_shrink ();
+		public bool get_supports_unix_owners ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class LinuxLvm2Volume : Gdu.Volume, Gdu.Presentable {
+		public unowned string get_group_uuid ();
+		public unowned string get_uuid ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class LinuxLvm2VolumeGroup : Gdu.Drive, Gdu.Presentable {
+		public unowned string get_compute_new_lv_name ();
+		public bool get_lv_info (string lv_uuid, uint out_position, string out_name, uint64 out_size);
+		public uint get_num_lvs ();
+		public unowned Gdu.Device get_pv_device ();
+		public bool get_pv_info (string pv_uuid, uint out_position, uint64 out_size, uint64 out_allocated_size);
+		public Gdu.LinuxLvm2VolumeGroupState get_state ();
+		public unowned string get_uuid ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class LinuxLvm2VolumeHole : Gdu.VolumeHole, Gdu.Presentable {
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class LinuxMdDrive : Gdu.Drive, Gdu.Presentable {
+		public Gdu.LinuxMdDriveSlaveFlags get_slave_flags (Gdu.Device slave);
+		public unowned string get_slave_state_markup (Gdu.Device slave);
+		public unowned GLib.List get_slaves ();
+		public unowned string get_uuid ();
+		public bool has_slave (Gdu.Device device);
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Machine : GLib.Object, Gdu.Presentable {
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Pool : GLib.Object {
+		[CCode (has_construct_function = false)]
+		public Pool ();
+		[CCode (has_construct_function = false)]
+		public Pool.for_address (string ssh_user_name, string ssh_address) throws GLib.Error;
+		public unowned Gdu.Adapter get_adapter_by_object_path (string object_path);
+		public unowned GLib.List get_adapters ();
+		public unowned Gdu.Device get_by_device_file (string device_file);
+		public unowned Gdu.Device get_by_object_path (string object_path);
+		public unowned string get_daemon_version ();
+		public unowned GLib.List get_devices ();
+		public unowned Gdu.Presentable get_drive_by_device (Gdu.Device device);
+		public unowned GLib.List get_enclosed_presentables (Gdu.Presentable presentable);
+		public unowned Gdu.Expander get_expander_by_object_path (string object_path);
+		public unowned GLib.List get_expanders ();
+		public unowned Gdu.Presentable get_hub_by_object_path (string object_path);
+		public unowned Gdu.KnownFilesystem get_known_filesystem_by_id (string id);
+		public unowned GLib.List get_known_filesystems ();
+		public unowned Gdu.LinuxMdDrive get_linux_md_drive_by_uuid (string uuid);
+		public unowned Gdu.Port get_port_by_object_path (string object_path);
+		public unowned GLib.List get_ports ();
+		public unowned Gdu.Presentable get_presentable_by_id (string id);
+		public unowned GLib.List get_presentables ();
+		public unowned string get_ssh_address ();
+		public unowned string get_ssh_user_name ();
+		public unowned Gdu.Presentable get_volume_by_device (Gdu.Device device);
+		public bool has_presentable (Gdu.Presentable presentable);
+		public bool is_daemon_inhibited ();
+		public void op_linux_lvm2_lv_create (string group_uuid, string name, uint64 size, uint num_stripes, uint64 stripe_size, uint num_mirrors, string fstype, string fslabel, string encrypt_passphrase, bool fs_take_ownership, Gdu.PoolLinuxLvm2LVCreateCompletedFunc callback);
+		public void op_linux_lvm2_lv_remove (string group_uuid, string uuid, Gdu.PoolLinuxLvm2LVRemoveCompletedFunc callback);
+		public void op_linux_lvm2_lv_set_name (string group_uuid, string uuid, string new_name, Gdu.PoolLinuxLvm2LVSetNameCompletedFunc callback);
+		public void op_linux_lvm2_lv_start (string group_uuid, string uuid, Gdu.PoolLinuxLvm2VGStartCompletedFunc callback);
+		public void op_linux_lvm2_vg_add_pv (string uuid, string physical_volume_object_path, Gdu.PoolLinuxLvm2VGAddPVCompletedFunc callback);
+		public void op_linux_lvm2_vg_remove_pv (string vg_uuid, string pv_uuid, Gdu.PoolLinuxLvm2VGRemovePVCompletedFunc callback);
+		public void op_linux_lvm2_vg_set_name (string uuid, string new_name, Gdu.PoolLinuxLvm2VGSetNameCompletedFunc callback);
+		public void op_linux_lvm2_vg_start (string uuid, Gdu.PoolLinuxLvm2VGStartCompletedFunc callback);
+		public void op_linux_lvm2_vg_stop (string uuid, Gdu.PoolLinuxLvm2VGStopCompletedFunc callback);
+		public void op_linux_md_create (GLib.PtrArray component_objpaths, string level, uint64 stripe_size, string name, Gdu.PoolLinuxMdCreateCompletedFunc callback);
+		public void op_linux_md_start (GLib.PtrArray component_objpaths, Gdu.PoolLinuxMdStartCompletedFunc callback);
+		public bool supports_luks_devices ();
+		public virtual signal void adapter_added (Gdu.Adapter adapter);
+		public virtual signal void adapter_changed (Gdu.Adapter adapter);
+		public virtual signal void adapter_removed (Gdu.Adapter adapter);
+		public virtual signal void device_added (Gdu.Device device);
+		public virtual signal void device_changed (Gdu.Device device);
+		public virtual signal void device_job_changed (Gdu.Device device);
+		public virtual signal void device_removed (Gdu.Device device);
+		public virtual signal void disconnected ();
+		public virtual signal void expander_added (Gdu.Expander expander);
+		public virtual signal void expander_changed (Gdu.Expander expander);
+		public virtual signal void expander_removed (Gdu.Expander expander);
+		public virtual signal void port_added (Gdu.Port port);
+		public virtual signal void port_changed (Gdu.Port port);
+		public virtual signal void port_removed (Gdu.Port port);
+		public virtual signal void presentable_added (Gdu.Presentable presentable);
+		public virtual signal void presentable_changed (Gdu.Presentable presentable);
+		public virtual signal void presentable_job_changed (Gdu.Presentable presentable);
+		public virtual signal void presentable_removed (Gdu.Presentable presentable);
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Port : GLib.Object {
+		public unowned string get_adapter ();
+		public unowned string get_connector_type ();
+		public unowned string get_native_path ();
+		public int get_number ();
+		public unowned string get_object_path ();
+		public unowned string get_parent ();
+		public unowned Gdu.Pool get_pool ();
+		public virtual signal void changed ();
+		public virtual signal void removed ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Process : GLib.Object {
+		public unowned GLib.AppInfo get_app_info ();
+		public unowned string get_command_line ();
+		public int get_id ();
+		public ulong get_owner ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class Volume : GLib.Object, Gdu.Presentable {
+		public unowned Gdu.Drive get_drive ();
+		public virtual Gdu.VolumeFlags get_flags ();
+		public virtual bool is_allocated ();
+		public virtual bool is_recognized ();
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public class VolumeHole : GLib.Object, Gdu.Presentable {
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public interface Presentable : GLib.Object {
+		public int compare (Gdu.Presentable b);
+		public bool encloses (Gdu.Presentable b);
+		public bool equals (Gdu.Presentable b);
+		public abstract unowned string get_description ();
+		public abstract unowned Gdu.Device get_device ();
+		public unowned GLib.List get_enclosed ();
+		public abstract unowned Gdu.Presentable get_enclosing_presentable ();
+		public abstract unowned GLib.Icon get_icon ();
+		public abstract unowned string get_id ();
+		public abstract unowned string get_name ();
+		public abstract uint64 get_offset ();
+		public abstract unowned Gdu.Pool get_pool ();
+		public abstract uint64 get_size ();
+		public unowned Gdu.Presentable get_toplevel ();
+		public abstract unowned string get_vpd_name ();
+		public uint hash ();
+		public abstract bool is_allocated ();
+		public abstract bool is_recognized ();
+		public signal void changed ();
+		public signal void job_changed ();
+		public signal void removed ();
+	}
+	[CCode (cprefix = "GDU_CREATE_VOLUME_FLAGS_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum CreateVolumeFlags {
+		NONE,
+		LINUX_MD,
+		LINUX_LVM2
+	}
+	[CCode (cprefix = "GDU_ERROR_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum Error {
+		FAILED,
+		BUSY,
+		CANCELLED,
+		INHIBITED,
+		INVALID_OPTION,
+		NOT_SUPPORTED,
+		ATA_SMART_WOULD_WAKEUP,
+		PERMISSION_DENIED,
+		FILESYSTEM_DRIVER_MISSING,
+		FILESYSTEM_TOOLS_MISSING
+	}
+	[CCode (cprefix = "GDU_HUB_USAGE_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum HubUsage {
+		ADAPTER,
+		EXPANDER,
+		MULTI_DISK_DEVICES,
+		MULTI_PATH_DEVICES
+	}
+	[CCode (cprefix = "GDU_LINUX_LVM2_VOLUME_GROUP_STATE_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum LinuxLvm2VolumeGroupState {
+		NOT_RUNNING,
+		PARTIALLY_RUNNING,
+		RUNNING
+	}
+	[CCode (cprefix = "GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum LinuxMdDriveSlaveFlags {
+		NONE,
+		NOT_ATTACHED,
+		FAULTY,
+		IN_SYNC,
+		WRITEMOSTLY,
+		BLOCKED,
+		SPARE
+	}
+	[CCode (cprefix = "GDU_VOLUME_FLAGS_", has_type_id = false, cheader_filename = "gdu/gdu.h")]
+	public enum VolumeFlags {
+		NONE,
+		PARTITION,
+		PARTITION_MBR_LOGICAL,
+		PARTITION_MBR_EXTENDED
+	}
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceCancelJobCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDriveAtaSmartInitiateSelftestCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDriveAtaSmartRefreshDataCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDriveBenchmarkCompletedFunc (Gdu.Device device, GLib.PtrArray read_transfer_rate_results, GLib.PtrArray write_transfer_rate_results, GLib.PtrArray access_time_results, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDriveDetachCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDriveEjectCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceDrivePollMediaCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemCheckCompletedFunc (Gdu.Device device, bool is_clean, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemCreateCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemListOpenFilesCompletedFunc (Gdu.Device device, GLib.List processes, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemMountCompletedFunc (Gdu.Device device, string mount_point, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemSetLabelCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceFilesystemUnmountCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxLvm2LVStopCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxMdAddSpareCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxMdCheckCompletedFunc (Gdu.Device device, uint num_errors, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxMdExpandCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxMdRemoveComponentCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLinuxMdStopCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLuksChangePassphraseCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLuksLockCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DeviceLuksUnlockCompletedFunc (Gdu.Device device, string object_path_of_cleartext_device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DevicePartitionCreateCompletedFunc (Gdu.Device device, string created_device_object_path, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DevicePartitionDeleteCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DevicePartitionModifyCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DevicePartitionTableCreateCompletedFunc (Gdu.Device device, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DriveActivateFunc (Gdu.Drive drive, string assembled_drive_object_path, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void DriveDeactivateFunc (Gdu.Drive drive, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2LVCreateCompletedFunc (Gdu.Pool pool, string create_logical_volume_object_path, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2LVRemoveCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2LVSetNameCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2LVStartCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2VGAddPVCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2VGRemovePVCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2VGSetNameCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2VGStartCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxLvm2VGStopCompletedFunc (Gdu.Pool pool, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxMdCreateCompletedFunc (Gdu.Pool pool, string array_object_path, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void PoolLinuxMdStartCompletedFunc (Gdu.Pool pool, string assembled_array_object_path, GLib.Error error);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public delegate void UtilPartTypeForeachFunc (string scheme, string type, string name);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static GLib.Quark error_quark ();
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string get_job_description (string job_id);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string linux_md_get_raid_level_description (string linux_md_raid_level);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string linux_md_get_raid_level_for_display (string linux_md_raid_level, bool long_string);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_ata_smart_status_to_desc (string status, bool out_highlight, string out_action_text, out unowned GLib.Icon out_icon);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static bool util_delete_secret (Gdu.Device device);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_fstype_get_description (string fstype);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_connection_for_display (string connection_interface, uint64 connection_speed);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_default_part_type_for_scheme_and_fstype (string scheme, string fstype, uint64 size);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_desc_for_part_type (string part_scheme, string part_type);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned GLib.Icon util_get_emblemed_icon (string name, string emblem_name);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_fstype_for_display (string fstype, string fsversion, bool long_string);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_secret (Gdu.Device device);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_size_for_display (uint64 size, bool use_pow2, bool long_string);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_get_speed_for_display (uint64 size);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static bool util_have_secret (Gdu.Device device);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static unowned string util_part_table_type_get_description (string part_type);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static void util_part_type_foreach (Gdu.UtilPartTypeForeachFunc callback);
+	[CCode (cheader_filename = "gdu/gdu.h")]
+	public static bool util_save_secret (Gdu.Device device, string secret, bool save_in_keyring_session);
+}
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.defines b/vapi/packages/gdu-gtk/gdu-gtk.defines
new file mode 100644
index 0000000..7cc0bf3
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.defines
@@ -0,0 +1,3 @@
+-DGDU_API_IS_SUBJECT_TO_CHANGE
+-DGDU_GTK_API_IS_SUBJECT_TO_CHANGE
+-DGDU_GTK_COMPILATION
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.deps b/vapi/packages/gdu-gtk/gdu-gtk.deps
new file mode 100644
index 0000000..23f42dd
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.deps
@@ -0,0 +1,2 @@
+gdu
+gtk+-2.0
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.files b/vapi/packages/gdu-gtk/gdu-gtk.files
new file mode 100644
index 0000000..6953eeb
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.files
@@ -0,0 +1,2 @@
+include/gnome-disk-utility/gdu-gtk
+lib/libgdu-gtk.so
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.gi b/vapi/packages/gdu-gtk/gdu-gtk.gi
new file mode 100644
index 0000000..309f454
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.gi
@@ -0,0 +1,1381 @@
+<?xml version="1.0"?>
+<api version="1.0">
+	<namespace name="Gdu">
+		<function name="util_delete_confirmation_dialog" symbol="gdu_util_delete_confirmation_dialog">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="parent_window" type="GtkWidget*"/>
+				<parameter name="title" type="char*"/>
+				<parameter name="primary_text" type="char*"/>
+				<parameter name="secondary_text" type="char*"/>
+				<parameter name="affirmative_action_button_mnemonic" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_dialog_ask_for_new_secret" symbol="gdu_util_dialog_ask_for_new_secret">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="parent_window" type="GtkWidget*"/>
+				<parameter name="save_in_keyring" type="gboolean*"/>
+				<parameter name="save_in_keyring_session" type="gboolean*"/>
+			</parameters>
+		</function>
+		<function name="util_dialog_ask_for_secret" symbol="gdu_util_dialog_ask_for_secret">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="parent_window" type="GtkWidget*"/>
+				<parameter name="presentable" type="GduPresentable*"/>
+				<parameter name="bypass_keyring" type="gboolean"/>
+				<parameter name="indicate_wrong_passphrase" type="gboolean"/>
+				<parameter name="asked_user" type="gboolean*"/>
+			</parameters>
+		</function>
+		<function name="util_dialog_change_secret" symbol="gdu_util_dialog_change_secret">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="parent_window" type="GtkWidget*"/>
+				<parameter name="presentable" type="GduPresentable*"/>
+				<parameter name="old_secret" type="char**"/>
+				<parameter name="new_secret" type="char**"/>
+				<parameter name="save_in_keyring" type="gboolean*"/>
+				<parameter name="save_in_keyring_session" type="gboolean*"/>
+				<parameter name="bypass_keyring" type="gboolean"/>
+				<parameter name="indicate_wrong_passphrase" type="gboolean"/>
+			</parameters>
+		</function>
+		<function name="util_dialog_show_filesystem_busy" symbol="gdu_util_dialog_show_filesystem_busy">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="parent_window" type="GtkWidget*"/>
+				<parameter name="presentable" type="GduPresentable*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_combo_box_create" symbol="gdu_util_fstype_combo_box_create">
+			<return-type type="GtkWidget*"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="include_extended_partitions_for_scheme" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_combo_box_get_selected" symbol="gdu_util_fstype_combo_box_get_selected">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_combo_box_rebuild" symbol="gdu_util_fstype_combo_box_rebuild">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="include_extended_partitions_for_scheme" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_combo_box_select" symbol="gdu_util_fstype_combo_box_select">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="fstype" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_combo_box_set_desc_label" symbol="gdu_util_fstype_combo_box_set_desc_label">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="desc_label" type="GtkWidget*"/>
+			</parameters>
+		</function>
+		<function name="util_get_mix_color" symbol="gdu_util_get_mix_color">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="widget" type="GtkWidget*"/>
+				<parameter name="state" type="GtkStateType"/>
+				<parameter name="color_buf" type="gchar*"/>
+				<parameter name="color_buf_size" type="gsize"/>
+			</parameters>
+		</function>
+		<function name="util_get_pixbuf_for_presentable" symbol="gdu_util_get_pixbuf_for_presentable">
+			<return-type type="GdkPixbuf*"/>
+			<parameters>
+				<parameter name="presentable" type="GduPresentable*"/>
+				<parameter name="size" type="GtkIconSize"/>
+			</parameters>
+		</function>
+		<function name="util_get_pixbuf_for_presentable_at_pixel_size" symbol="gdu_util_get_pixbuf_for_presentable_at_pixel_size">
+			<return-type type="GdkPixbuf*"/>
+			<parameters>
+				<parameter name="presentable" type="GduPresentable*"/>
+				<parameter name="pixel_size" type="gint"/>
+			</parameters>
+		</function>
+		<function name="util_part_table_type_combo_box_create" symbol="gdu_util_part_table_type_combo_box_create">
+			<return-type type="GtkWidget*"/>
+		</function>
+		<function name="util_part_table_type_combo_box_get_selected" symbol="gdu_util_part_table_type_combo_box_get_selected">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+			</parameters>
+		</function>
+		<function name="util_part_table_type_combo_box_select" symbol="gdu_util_part_table_type_combo_box_select">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="part_table_type" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_part_table_type_combo_box_set_desc_label" symbol="gdu_util_part_table_type_combo_box_set_desc_label">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="desc_label" type="GtkWidget*"/>
+			</parameters>
+		</function>
+		<function name="util_part_type_combo_box_create" symbol="gdu_util_part_type_combo_box_create">
+			<return-type type="GtkWidget*"/>
+			<parameters>
+				<parameter name="part_scheme" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_part_type_combo_box_get_selected" symbol="gdu_util_part_type_combo_box_get_selected">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+			</parameters>
+		</function>
+		<function name="util_part_type_combo_box_rebuild" symbol="gdu_util_part_type_combo_box_rebuild">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="part_scheme" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_part_type_combo_box_select" symbol="gdu_util_part_type_combo_box_select">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="combo_box" type="GtkWidget*"/>
+				<parameter name="part_type" type="char*"/>
+			</parameters>
+		</function>
+		<struct name="GduColor">
+		</struct>
+		<struct name="GduCurve">
+		</struct>
+		<struct name="GduGraph">
+		</struct>
+		<struct name="GduSample">
+		</struct>
+		<enum name="GduPoolTreeModelColumn" type-name="GduPoolTreeModelColumn" get-type="gdu_pool_tree_model_column_get_type">
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_ICON" value="0"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_NAME" value="1"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_VPD_NAME" value="2"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_DESCRIPTION" value="3"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_PRESENTABLE" value="4"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_VISIBLE" value="5"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_TOGGLED" value="6"/>
+			<member name="GDU_POOL_TREE_MODEL_COLUMN_CAN_BE_TOGGLED" value="7"/>
+		</enum>
+		<flags name="GduAddComponentLinuxMdFlags" type-name="GduAddComponentLinuxMdFlags" get-type="gdu_add_component_linux_md_flags_get_type">
+			<member name="GDU_ADD_COMPONENT_LINUX_MD_FLAGS_NONE" value="0"/>
+			<member name="GDU_ADD_COMPONENT_LINUX_MD_FLAGS_SPARE" value="1"/>
+			<member name="GDU_ADD_COMPONENT_LINUX_MD_FLAGS_EXPANSION" value="2"/>
+		</flags>
+		<flags name="GduDiskSelectionWidgetFlags" type-name="GduDiskSelectionWidgetFlags" get-type="gdu_disk_selection_widget_flags_get_type">
+			<member name="GDU_DISK_SELECTION_WIDGET_FLAGS_NONE" value="0"/>
+			<member name="GDU_DISK_SELECTION_WIDGET_FLAGS_ALLOW_MULTIPLE" value="1"/>
+			<member name="GDU_DISK_SELECTION_WIDGET_FLAGS_ALLOW_DISKS_WITH_INSUFFICIENT_SPACE" value="2"/>
+		</flags>
+		<flags name="GduFormatDialogFlags" type-name="GduFormatDialogFlags" get-type="gdu_format_dialog_flags_get_type">
+			<member name="GDU_FORMAT_DIALOG_FLAGS_NONE" value="0"/>
+			<member name="GDU_FORMAT_DIALOG_FLAGS_SIMPLE" value="1"/>
+			<member name="GDU_FORMAT_DIALOG_FLAGS_DISK_UTILITY_BUTTON" value="2"/>
+			<member name="GDU_FORMAT_DIALOG_FLAGS_ALLOW_MSDOS_EXTENDED" value="4"/>
+		</flags>
+		<flags name="GduPoolTreeModelFlags" type-name="GduPoolTreeModelFlags" get-type="gdu_pool_tree_model_flags_get_type">
+			<member name="GDU_POOL_TREE_MODEL_FLAGS_NONE" value="0"/>
+			<member name="GDU_POOL_TREE_MODEL_FLAGS_NO_VOLUMES" value="1"/>
+			<member name="GDU_POOL_TREE_MODEL_FLAGS_NO_UNALLOCATABLE_DRIVES" value="4"/>
+		</flags>
+		<flags name="GduPoolTreeViewFlags" type-name="GduPoolTreeViewFlags" get-type="gdu_pool_tree_view_flags_get_type">
+			<member name="GDU_POOL_TREE_VIEW_FLAGS_NONE" value="0"/>
+			<member name="GDU_POOL_TREE_VIEW_FLAGS_SHOW_TOGGLE" value="1"/>
+		</flags>
+		<object name="GduAddComponentLinuxMdDialog" parent="GduDialog" type-name="GduAddComponentLinuxMdDialog" get-type="gdu_add_component_linux_md_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_drives" symbol="gdu_add_component_linux_md_dialog_get_drives">
+				<return-type type="GPtrArray*"/>
+				<parameters>
+					<parameter name="dialog" type="GduAddComponentLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_add_component_linux_md_dialog_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduAddComponentLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_add_component_linux_md_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="flags" type="GduAddComponentLinuxMdFlags"/>
+					<parameter name="linux_md_drive" type="GduLinuxMdDrive*"/>
+				</parameters>
+			</constructor>
+			<property name="drives" type="GPtrArray*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="flags" type="GduAddComponentLinuxMdFlags" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduAddPvLinuxLvm2Dialog" parent="GduDialog" type-name="GduAddPvLinuxLvm2Dialog" get-type="gdu_add_pv_linux_lvm2_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_drive" symbol="gdu_add_pv_linux_lvm2_dialog_get_drive">
+				<return-type type="GduDrive*"/>
+				<parameters>
+					<parameter name="dialog" type="GduAddPvLinuxLvm2Dialog*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_add_pv_linux_lvm2_dialog_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduAddPvLinuxLvm2Dialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_add_pv_linux_lvm2_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</constructor>
+			<property name="drive" type="GduDrive*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduAtaSmartDialog" parent="GduDialog" type-name="GduAtaSmartDialog" get-type="gdu_ata_smart_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_ata_smart_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</constructor>
+		</object>
+		<object name="GduButtonElement" parent="GObject" type-name="GduButtonElement" get-type="gdu_button_element_get_type">
+			<method name="get_icon_name" symbol="gdu_button_element_get_icon_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</method>
+			<method name="get_primary_text" symbol="gdu_button_element_get_primary_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</method>
+			<method name="get_secondary_text" symbol="gdu_button_element_get_secondary_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</method>
+			<method name="get_visible" symbol="gdu_button_element_get_visible">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_button_element_new">
+				<return-type type="GduButtonElement*"/>
+				<parameters>
+					<parameter name="icon_name" type="gchar*"/>
+					<parameter name="primary_text" type="gchar*"/>
+					<parameter name="secondary_text" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<method name="set_icon_name" symbol="gdu_button_element_set_icon_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+					<parameter name="icon_name" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_primary_text" symbol="gdu_button_element_set_primary_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+					<parameter name="primary_text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_secondary_text" symbol="gdu_button_element_set_secondary_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+					<parameter name="primary_text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_visible" symbol="gdu_button_element_set_visible">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+					<parameter name="visible" type="gboolean"/>
+				</parameters>
+			</method>
+			<property name="icon-name" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="primary-text" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="secondary-text" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="visible" type="gboolean" readable="1" writable="1" construct="1" construct-only="0"/>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</signal>
+			<signal name="clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduButtonElement*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduButtonTable" parent="GtkHBox" type-name="GduButtonTable" get-type="gdu_button_table_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+				<interface name="GtkOrientable"/>
+			</implements>
+			<method name="get_elements" symbol="gdu_button_table_get_elements">
+				<return-type type="GPtrArray*"/>
+				<parameters>
+					<parameter name="table" type="GduButtonTable*"/>
+				</parameters>
+			</method>
+			<method name="get_num_columns" symbol="gdu_button_table_get_num_columns">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="table" type="GduButtonTable*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_button_table_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="num_columns" type="guint"/>
+					<parameter name="elements" type="GPtrArray*"/>
+				</parameters>
+			</constructor>
+			<method name="set_elements" symbol="gdu_button_table_set_elements">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="table" type="GduButtonTable*"/>
+					<parameter name="elements" type="GPtrArray*"/>
+				</parameters>
+			</method>
+			<method name="set_num_columns" symbol="gdu_button_table_set_num_columns">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="table" type="GduButtonTable*"/>
+					<parameter name="num_columns" type="guint"/>
+				</parameters>
+			</method>
+			<property name="elements" type="GPtrArray*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="num-columns" type="guint" readable="1" writable="1" construct="1" construct-only="0"/>
+		</object>
+		<object name="GduConfirmationDialog" parent="GduDialog" type-name="GduConfirmationDialog" get-type="gdu_confirmation_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_confirmation_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="button_text" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_drive" symbol="gdu_confirmation_dialog_new_for_drive">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="button_text" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_volume" symbol="gdu_confirmation_dialog_new_for_volume">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="button_text" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<property name="button-text" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="message" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduConnectToServerDialog" parent="GtkDialog" type-name="GduConnectToServerDialog" get-type="gdu_connect_to_server_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_address" symbol="gdu_connect_to_server_dialog_get_address">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduConnectToServerDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_user_name" symbol="gdu_connect_to_server_dialog_get_user_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduConnectToServerDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_connect_to_server_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+				</parameters>
+			</constructor>
+			<property name="address" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="user-name" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduCreateLinuxLvm2VolumeDialog" parent="GduFormatDialog" type-name="GduCreateLinuxLvm2VolumeDialog" get-type="gdu_create_linux_lvm2_volume_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_max_size" symbol="gdu_create_linux_lvm2_volume_dialog_get_max_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxLvm2VolumeDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_create_linux_lvm2_volume_dialog_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxLvm2VolumeDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_create_linux_lvm2_volume_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="max_size" type="guint64"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<property name="max-size" type="guint64" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduCreateLinuxMdDialog" parent="GtkDialog" type-name="GduCreateLinuxMdDialog" get-type="gdu_create_linux_md_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_component_size" symbol="gdu_create_linux_md_dialog_get_component_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_drives" symbol="gdu_create_linux_md_dialog_get_drives">
+				<return-type type="GPtrArray*"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_level" symbol="gdu_create_linux_md_dialog_get_level">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_name" symbol="gdu_create_linux_md_dialog_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_create_linux_md_dialog_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_stripe_size" symbol="gdu_create_linux_md_dialog_get_stripe_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreateLinuxMdDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_create_linux_md_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</constructor>
+			<property name="component-size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="drives" type="GPtrArray*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="level" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="name" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="pool" type="GduPool*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="stripe-size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduCreatePartitionDialog" parent="GduFormatDialog" type-name="GduCreatePartitionDialog" get-type="gdu_create_partition_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_max_size" symbol="gdu_create_partition_dialog_get_max_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreatePartitionDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_create_partition_dialog_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="dialog" type="GduCreatePartitionDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_create_partition_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="max_size" type="guint64"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_drive" symbol="gdu_create_partition_dialog_new_for_drive">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="max_size" type="guint64"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<property name="max-size" type="guint64" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="size" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduDetailsElement" parent="GObject" type-name="GduDetailsElement" get-type="gdu_details_element_get_type">
+			<method name="get_action_text" symbol="gdu_details_element_get_action_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_action_tooltip" symbol="gdu_details_element_get_action_tooltip">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_action_uri" symbol="gdu_details_element_get_action_uri">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_heading" symbol="gdu_details_element_get_heading">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_icon" symbol="gdu_details_element_get_icon">
+				<return-type type="GIcon*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_is_spinning" symbol="gdu_details_element_get_is_spinning">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_progress" symbol="gdu_details_element_get_progress">
+				<return-type type="gdouble"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_text" symbol="gdu_details_element_get_text">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_time" symbol="gdu_details_element_get_time">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_tooltip" symbol="gdu_details_element_get_tooltip">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<method name="get_widget" symbol="gdu_details_element_get_widget">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_details_element_new">
+				<return-type type="GduDetailsElement*"/>
+				<parameters>
+					<parameter name="heading" type="gchar*"/>
+					<parameter name="text" type="gchar*"/>
+					<parameter name="tooltip" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<method name="set_action_text" symbol="gdu_details_element_set_action_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="action_text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_action_tooltip" symbol="gdu_details_element_set_action_tooltip">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="action_tooltip" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_action_uri" symbol="gdu_details_element_set_action_uri">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="action_uri" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_heading" symbol="gdu_details_element_set_heading">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="heading" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_icon" symbol="gdu_details_element_set_icon">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="icon" type="GIcon*"/>
+				</parameters>
+			</method>
+			<method name="set_is_spinning" symbol="gdu_details_element_set_is_spinning">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="is_spinning" type="gboolean"/>
+				</parameters>
+			</method>
+			<method name="set_progress" symbol="gdu_details_element_set_progress">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="progress" type="gdouble"/>
+				</parameters>
+			</method>
+			<method name="set_text" symbol="gdu_details_element_set_text">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="text" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_time" symbol="gdu_details_element_set_time">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="time" type="guint64"/>
+				</parameters>
+			</method>
+			<method name="set_tooltip" symbol="gdu_details_element_set_tooltip">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="tooltip" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="set_widget" symbol="gdu_details_element_set_widget">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="widget" type="GtkWidget*"/>
+				</parameters>
+			</method>
+			<property name="action-text" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="action-tooltip" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="action-uri" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="heading" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="icon" type="GIcon*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="is-spinning" type="gboolean" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="progress" type="gdouble" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="text" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="time" type="guint64" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="tooltip" type="char*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="widget" type="GtkWidget*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<signal name="activated" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+					<parameter name="uri" type="char*"/>
+				</parameters>
+			</signal>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="element" type="GduDetailsElement*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduDetailsTable" parent="GtkHBox" type-name="GduDetailsTable" get-type="gdu_details_table_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+				<interface name="GtkOrientable"/>
+			</implements>
+			<method name="get_elements" symbol="gdu_details_table_get_elements">
+				<return-type type="GPtrArray*"/>
+				<parameters>
+					<parameter name="table" type="GduDetailsTable*"/>
+				</parameters>
+			</method>
+			<method name="get_num_columns" symbol="gdu_details_table_get_num_columns">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="table" type="GduDetailsTable*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_details_table_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="num_columns" type="guint"/>
+					<parameter name="elements" type="GPtrArray*"/>
+				</parameters>
+			</constructor>
+			<method name="set_elements" symbol="gdu_details_table_set_elements">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="table" type="GduDetailsTable*"/>
+					<parameter name="elements" type="GPtrArray*"/>
+				</parameters>
+			</method>
+			<method name="set_num_columns" symbol="gdu_details_table_set_num_columns">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="table" type="GduDetailsTable*"/>
+					<parameter name="num_columns" type="guint"/>
+				</parameters>
+			</method>
+			<property name="elements" type="GPtrArray*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="num-columns" type="guint" readable="1" writable="1" construct="1" construct-only="0"/>
+		</object>
+		<object name="GduDialog" parent="GtkDialog" type-name="GduDialog" get-type="gdu_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_device" symbol="gdu_dialog_get_device">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="dialog" type="GduDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_dialog_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="dialog" type="GduDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_presentable" symbol="gdu_dialog_get_presentable">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="dialog" type="GduDialog*"/>
+				</parameters>
+			</method>
+			<property name="drive-device" type="GduDevice*" readable="0" writable="1" construct="0" construct-only="1"/>
+			<property name="presentable" type="GduPresentable*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="volume-device" type="GduDevice*" readable="0" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduDiskSelectionWidget" parent="GtkVBox" type-name="GduDiskSelectionWidget" get-type="gdu_disk_selection_widget_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+				<interface name="GtkOrientable"/>
+			</implements>
+			<method name="get_component_size" symbol="gdu_disk_selection_widget_get_component_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_largest_segment_for_all" symbol="gdu_disk_selection_widget_get_largest_segment_for_all">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_largest_segment_for_selected" symbol="gdu_disk_selection_widget_get_largest_segment_for_selected">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_num_available_disks" symbol="gdu_disk_selection_widget_get_num_available_disks">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_selected_drives" symbol="gdu_disk_selection_widget_get_selected_drives">
+				<return-type type="GPtrArray*"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_disk_selection_widget_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="flags" type="GduDiskSelectionWidgetFlags"/>
+				</parameters>
+			</constructor>
+			<method name="set_component_size" symbol="gdu_disk_selection_widget_set_component_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+					<parameter name="component_size" type="guint64"/>
+				</parameters>
+			</method>
+			<property name="component-size" type="guint64" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="flags" type="GduDiskSelectionWidgetFlags" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="largest-segment-for-all" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="largest-segment-for-selected" type="guint64" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="num-available-disks" type="guint" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="pool" type="GduPool*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="selected-drives" type="GPtrArray*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+				</parameters>
+			</signal>
+			<signal name="is-drive-ignored" when="LAST">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="widget" type="GduDiskSelectionWidget*"/>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduDriveBenchmarkDialog" parent="GduDialog" type-name="GduDriveBenchmarkDialog" get-type="gdu_drive_benchmark_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_drive_benchmark_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</constructor>
+		</object>
+		<object name="GduEditLinuxLvm2Dialog" parent="GduDialog" type-name="GduEditLinuxLvm2Dialog" get-type="gdu_edit_linux_lvm2_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_edit_linux_lvm2_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</constructor>
+			<signal name="new-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxLvm2Dialog*"/>
+				</parameters>
+			</signal>
+			<signal name="remove-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxLvm2Dialog*"/>
+					<parameter name="pv_uuid" type="char*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduEditLinuxMdDialog" parent="GduDialog" type-name="GduEditLinuxMdDialog" get-type="gdu_edit_linux_md_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_edit_linux_md_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="linux_md_drive" type="GduLinuxMdDrive*"/>
+				</parameters>
+			</constructor>
+			<signal name="add-spare-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxMdDialog*"/>
+				</parameters>
+			</signal>
+			<signal name="attach-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxMdDialog*"/>
+					<parameter name="slave" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="expand-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxMdDialog*"/>
+				</parameters>
+			</signal>
+			<signal name="remove-button-clicked" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditLinuxMdDialog*"/>
+					<parameter name="slave" type="GduDevice*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduEditNameDialog" parent="GduDialog" type-name="GduEditNameDialog" get-type="gdu_edit_name_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_name" symbol="gdu_edit_name_dialog_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditNameDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_edit_name_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="name_max_bytes" type="guint"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="entry_mnemonic" type="gchar*"/>
+				</parameters>
+			</constructor>
+			<method name="set_name" symbol="gdu_edit_name_dialog_set_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditNameDialog*"/>
+					<parameter name="name" type="gchar*"/>
+				</parameters>
+			</method>
+			<property name="entry-mnemonic" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="message" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="name" type="char*" readable="1" writable="1" construct="0" construct-only="0"/>
+			<property name="name-max-bytes" type="guint" readable="1" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduEditPartitionDialog" parent="GduDialog" type-name="GduEditPartitionDialog" get-type="gdu_edit_partition_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_partition_flags" symbol="gdu_edit_partition_dialog_get_partition_flags">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditPartitionDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_partition_label" symbol="gdu_edit_partition_dialog_get_partition_label">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditPartitionDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_partition_type" symbol="gdu_edit_partition_dialog_get_partition_type">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduEditPartitionDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_edit_partition_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="volume" type="GduPresentable*"/>
+				</parameters>
+			</constructor>
+			<property name="partition-flags" type="GStrv*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="partition-label" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="partition-type" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduErrorDialog" parent="GduDialog" type-name="GduErrorDialog" get-type="gdu_error_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_error_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="error" type="GError*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_drive" symbol="gdu_error_dialog_new_for_drive">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="error" type="GError*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_volume" symbol="gdu_error_dialog_new_for_volume">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="message" type="gchar*"/>
+					<parameter name="error" type="GError*"/>
+				</parameters>
+			</constructor>
+			<property name="error" type="GduGError*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="message" type="char*" readable="1" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduFormatDialog" parent="GduDialog" type-name="GduFormatDialog" get-type="gdu_format_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_encrypt" symbol="gdu_format_dialog_get_encrypt">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_fs_label" symbol="gdu_format_dialog_get_fs_label">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_fs_options" symbol="gdu_format_dialog_get_fs_options">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_fs_type" symbol="gdu_format_dialog_get_fs_type">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_table" symbol="gdu_format_dialog_get_table">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<method name="get_take_ownership" symbol="gdu_format_dialog_get_take_ownership">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="dialog" type="GduFormatDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_format_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_drive" symbol="gdu_format_dialog_new_for_drive">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_volume" symbol="gdu_format_dialog_new_for_volume">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="flags" type="GduFormatDialogFlags"/>
+				</parameters>
+			</constructor>
+			<property name="affirmative-button-mnemonic" type="char*" readable="0" writable="1" construct="0" construct-only="1"/>
+			<property name="encrypt" type="gboolean" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="flags" type="GduFormatDialogFlags" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="fs-label" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="fs-options" type="GStrv*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="fs-type" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+			<property name="take-ownership" type="gboolean" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduPartitionDialog" parent="GduDialog" type-name="GduPartitionDialog" get-type="gdu_partition_dialog_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_scheme" symbol="gdu_partition_dialog_get_scheme">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="dialog" type="GduPartitionDialog*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_partition_dialog_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</constructor>
+			<constructor name="new_for_drive" symbol="gdu_partition_dialog_new_for_drive">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="parent" type="GtkWindow*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</constructor>
+			<property name="scheme" type="char*" readable="1" writable="0" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduPoolTreeModel" parent="GtkTreeStore" type-name="GduPoolTreeModel" get-type="gdu_pool_tree_model_get_type">
+			<implements>
+				<interface name="GtkTreeModel"/>
+				<interface name="GtkTreeDragSource"/>
+				<interface name="GtkTreeDragDest"/>
+				<interface name="GtkTreeSortable"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_iter_for_presentable" symbol="gdu_pool_tree_model_get_iter_for_presentable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="model" type="GduPoolTreeModel*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+					<parameter name="out_iter" type="GtkTreeIter*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_pool_tree_model_new">
+				<return-type type="GduPoolTreeModel*"/>
+				<parameters>
+					<parameter name="pools" type="GPtrArray*"/>
+					<parameter name="root" type="GduPresentable*"/>
+					<parameter name="flags" type="GduPoolTreeModelFlags"/>
+				</parameters>
+			</constructor>
+			<method name="set_pools" symbol="gdu_pool_tree_model_set_pools">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="model" type="GduPoolTreeModel*"/>
+					<parameter name="pools" type="GPtrArray*"/>
+				</parameters>
+			</method>
+			<property name="flags" type="GduPoolTreeModelFlags" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="pools" type="GPtrArray*" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="root" type="GduPresentable*" readable="1" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduPoolTreeView" parent="GtkTreeView" type-name="GduPoolTreeView" get-type="gdu_pool_tree_view_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_selected_presentable" symbol="gdu_pool_tree_view_get_selected_presentable">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="view" type="GduPoolTreeView*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_pool_tree_view_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="model" type="GduPoolTreeModel*"/>
+					<parameter name="flags" type="GduPoolTreeViewFlags"/>
+				</parameters>
+			</constructor>
+			<method name="select_first_presentable" symbol="gdu_pool_tree_view_select_first_presentable">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="GduPoolTreeView*"/>
+				</parameters>
+			</method>
+			<method name="select_presentable" symbol="gdu_pool_tree_view_select_presentable">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="view" type="GduPoolTreeView*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<property name="flags" type="GduPoolTreeViewFlags" readable="1" writable="1" construct="0" construct-only="1"/>
+			<property name="pool-tree-model" type="GduPoolTreeModel*" readable="1" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduSizeWidget" parent="GtkHBox" type-name="GduSizeWidget" get-type="gdu_size_widget_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+				<interface name="GtkOrientable"/>
+			</implements>
+			<method name="get_max_size" symbol="gdu_size_widget_get_max_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_min_size" symbol="gdu_size_widget_get_min_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_size_widget_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_size_widget_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="size" type="guint64"/>
+					<parameter name="min_size" type="guint64"/>
+					<parameter name="max_size" type="guint64"/>
+				</parameters>
+			</constructor>
+			<method name="set_max_size" symbol="gdu_size_widget_set_max_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+					<parameter name="max_size" type="guint64"/>
+				</parameters>
+			</method>
+			<method name="set_min_size" symbol="gdu_size_widget_set_min_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+					<parameter name="min_size" type="guint64"/>
+				</parameters>
+			</method>
+			<method name="set_size" symbol="gdu_size_widget_set_size">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+					<parameter name="size" type="guint64"/>
+				</parameters>
+			</method>
+			<property name="max-size" type="guint64" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="min-size" type="guint64" readable="1" writable="1" construct="1" construct-only="0"/>
+			<property name="size" type="guint64" readable="1" writable="1" construct="1" construct-only="0"/>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="widget" type="GduSizeWidget*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduSpinner" parent="GtkDrawingArea" type-name="GduSpinner" get-type="gdu_spinner_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_spinner_new">
+				<return-type type="GtkWidget*"/>
+			</constructor>
+			<method name="start" symbol="gdu_spinner_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="spinner" type="GduSpinner*"/>
+				</parameters>
+			</method>
+			<method name="stop" symbol="gdu_spinner_stop">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="spinner" type="GduSpinner*"/>
+				</parameters>
+			</method>
+			<property name="color" type="char*" readable="0" writable="1" construct="1" construct-only="0"/>
+			<property name="lines" type="guint" readable="0" writable="1" construct="0" construct-only="1"/>
+		</object>
+		<object name="GduTimeLabel" parent="GtkLabel" type-name="GduTimeLabel" get-type="gdu_time_label_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<constructor name="new" symbol="gdu_time_label_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="time" type="GTimeVal*"/>
+				</parameters>
+			</constructor>
+			<method name="set_time" symbol="gdu_time_label_set_time">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="time_label" type="GduTimeLabel*"/>
+					<parameter name="time" type="GTimeVal*"/>
+				</parameters>
+			</method>
+			<property name="time" type="GduTimeLabelBoxedGTimeVal*" readable="1" writable="1" construct="0" construct-only="0"/>
+		</object>
+		<object name="GduVolumeGrid" parent="GtkDrawingArea" type-name="GduVolumeGrid" get-type="gdu_volume_grid_get_type">
+			<implements>
+				<interface name="AtkImplementor"/>
+				<interface name="GtkBuildable"/>
+			</implements>
+			<method name="get_selected" symbol="gdu_volume_grid_get_selected">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="grid" type="GduVolumeGrid*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_volume_grid_new">
+				<return-type type="GtkWidget*"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</constructor>
+			<method name="select" symbol="gdu_volume_grid_select">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="grid" type="GduVolumeGrid*"/>
+					<parameter name="volume" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<property name="drive" type="GduDrive*" readable="1" writable="1" construct="0" construct-only="1"/>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="grid" type="GduVolumeGrid*"/>
+				</parameters>
+			</signal>
+		</object>
+	</namespace>
+</api>
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.metadata b/vapi/packages/gdu-gtk/gdu-gtk.metadata
new file mode 100644
index 0000000..1e882bf
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.metadata
@@ -0,0 +1,3 @@
+Gdu cheader_filename="gdu-gtk/gdu-gtk.h"
+GduGError name="Error"
+GduTimeLabelBoxedGTimeVal namespace="GLib" name="TimeVal"
diff --git a/vapi/packages/gdu-gtk/gdu-gtk.namespace b/vapi/packages/gdu-gtk/gdu-gtk.namespace
new file mode 100644
index 0000000..f0dc420
--- /dev/null
+++ b/vapi/packages/gdu-gtk/gdu-gtk.namespace
@@ -0,0 +1 @@
+Gdu
diff --git a/vapi/packages/gdu/gdu.defines b/vapi/packages/gdu/gdu.defines
new file mode 100644
index 0000000..c9fdb06
--- /dev/null
+++ b/vapi/packages/gdu/gdu.defines
@@ -0,0 +1,2 @@
+-DGDU_API_IS_SUBJECT_TO_CHANGE
+-DGDU_COMPILATION
diff --git a/vapi/packages/gdu/gdu.deps b/vapi/packages/gdu/gdu.deps
new file mode 100644
index 0000000..cd10dfd
--- /dev/null
+++ b/vapi/packages/gdu/gdu.deps
@@ -0,0 +1 @@
+gio-2.0
diff --git a/vapi/packages/gdu/gdu.files b/vapi/packages/gdu/gdu.files
new file mode 100644
index 0000000..e19ed50
--- /dev/null
+++ b/vapi/packages/gdu/gdu.files
@@ -0,0 +1,2 @@
+include/gnome-disk-utility/gdu
+lib/libgdu.so
diff --git a/vapi/packages/gdu/gdu.gi b/vapi/packages/gdu/gdu.gi
new file mode 100644
index 0000000..e23f048
--- /dev/null
+++ b/vapi/packages/gdu/gdu.gi
@@ -0,0 +1,2855 @@
+<?xml version="1.0"?>
+<api version="1.0">
+	<namespace name="Gdu">
+		<function name="error_quark" symbol="gdu_error_quark">
+			<return-type type="GQuark"/>
+		</function>
+		<function name="get_job_description" symbol="gdu_get_job_description">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="job_id" type="char*"/>
+			</parameters>
+		</function>
+		<function name="linux_md_get_raid_level_description" symbol="gdu_linux_md_get_raid_level_description">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="linux_md_raid_level" type="gchar*"/>
+			</parameters>
+		</function>
+		<function name="linux_md_get_raid_level_for_display" symbol="gdu_linux_md_get_raid_level_for_display">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="linux_md_raid_level" type="gchar*"/>
+				<parameter name="long_string" type="gboolean"/>
+			</parameters>
+		</function>
+		<function name="util_ata_smart_status_to_desc" symbol="gdu_util_ata_smart_status_to_desc">
+			<return-type type="gchar*"/>
+			<parameters>
+				<parameter name="status" type="gchar*"/>
+				<parameter name="out_highlight" type="gboolean*"/>
+				<parameter name="out_action_text" type="gchar**"/>
+				<parameter name="out_icon" type="GIcon**"/>
+			</parameters>
+		</function>
+		<function name="util_delete_secret" symbol="gdu_util_delete_secret">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+			</parameters>
+		</function>
+		<function name="util_fstype_get_description" symbol="gdu_util_fstype_get_description">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="fstype" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_get_connection_for_display" symbol="gdu_util_get_connection_for_display">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="connection_interface" type="char*"/>
+				<parameter name="connection_speed" type="guint64"/>
+			</parameters>
+		</function>
+		<function name="util_get_default_part_type_for_scheme_and_fstype" symbol="gdu_util_get_default_part_type_for_scheme_and_fstype">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="scheme" type="char*"/>
+				<parameter name="fstype" type="char*"/>
+				<parameter name="size" type="guint64"/>
+			</parameters>
+		</function>
+		<function name="util_get_desc_for_part_type" symbol="gdu_util_get_desc_for_part_type">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="part_scheme" type="char*"/>
+				<parameter name="part_type" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_get_emblemed_icon" symbol="gdu_util_get_emblemed_icon">
+			<return-type type="GIcon*"/>
+			<parameters>
+				<parameter name="name" type="gchar*"/>
+				<parameter name="emblem_name" type="gchar*"/>
+			</parameters>
+		</function>
+		<function name="util_get_fstype_for_display" symbol="gdu_util_get_fstype_for_display">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="fstype" type="char*"/>
+				<parameter name="fsversion" type="char*"/>
+				<parameter name="long_string" type="gboolean"/>
+			</parameters>
+		</function>
+		<function name="util_get_secret" symbol="gdu_util_get_secret">
+			<return-type type="gchar*"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+			</parameters>
+		</function>
+		<function name="util_get_size_for_display" symbol="gdu_util_get_size_for_display">
+			<return-type type="gchar*"/>
+			<parameters>
+				<parameter name="size" type="guint64"/>
+				<parameter name="use_pow2" type="gboolean"/>
+				<parameter name="long_string" type="gboolean"/>
+			</parameters>
+		</function>
+		<function name="util_get_speed_for_display" symbol="gdu_util_get_speed_for_display">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="size" type="guint64"/>
+			</parameters>
+		</function>
+		<function name="util_have_secret" symbol="gdu_util_have_secret">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+			</parameters>
+		</function>
+		<function name="util_part_table_type_get_description" symbol="gdu_util_part_table_type_get_description">
+			<return-type type="char*"/>
+			<parameters>
+				<parameter name="part_type" type="char*"/>
+			</parameters>
+		</function>
+		<function name="util_part_type_foreach" symbol="gdu_util_part_type_foreach">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="callback" type="GduUtilPartTypeForeachFunc"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</function>
+		<function name="util_save_secret" symbol="gdu_util_save_secret">
+			<return-type type="gboolean"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="secret" type="char*"/>
+				<parameter name="save_in_keyring_session" type="gboolean"/>
+			</parameters>
+		</function>
+		<callback name="GduDeviceCancelJobCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDriveAtaSmartInitiateSelftestCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDriveAtaSmartRefreshDataCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDriveBenchmarkCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="read_transfer_rate_results" type="GPtrArray*"/>
+				<parameter name="write_transfer_rate_results" type="GPtrArray*"/>
+				<parameter name="access_time_results" type="GPtrArray*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDriveDetachCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDriveEjectCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceDrivePollMediaCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemCheckCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="is_clean" type="gboolean"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemCreateCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemListOpenFilesCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="processes" type="GList*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemMountCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="mount_point" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemSetLabelCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceFilesystemUnmountCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxLvm2LVStopCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxMdAddSpareCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxMdCheckCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="num_errors" type="guint"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxMdExpandCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxMdRemoveComponentCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLinuxMdStopCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLuksChangePassphraseCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLuksLockCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDeviceLuksUnlockCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="object_path_of_cleartext_device" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDevicePartitionCreateCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="created_device_object_path" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDevicePartitionDeleteCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDevicePartitionModifyCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDevicePartitionTableCreateCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="device" type="GduDevice*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDriveActivateFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="drive" type="GduDrive*"/>
+				<parameter name="assembled_drive_object_path" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduDriveDeactivateFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="drive" type="GduDrive*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2LVCreateCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="create_logical_volume_object_path" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2LVRemoveCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2LVSetNameCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2LVStartCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2VGAddPVCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2VGRemovePVCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2VGSetNameCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2VGStartCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxLvm2VGStopCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxMdCreateCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="array_object_path" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduPoolLinuxMdStartCompletedFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="pool" type="GduPool*"/>
+				<parameter name="assembled_array_object_path" type="char*"/>
+				<parameter name="error" type="GError*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<callback name="GduUtilPartTypeForeachFunc">
+			<return-type type="void"/>
+			<parameters>
+				<parameter name="scheme" type="char*"/>
+				<parameter name="type" type="char*"/>
+				<parameter name="name" type="char*"/>
+				<parameter name="user_data" type="gpointer"/>
+			</parameters>
+		</callback>
+		<enum name="GduCreateVolumeFlags">
+			<member name="GDU_CREATE_VOLUME_FLAGS_NONE" value="0"/>
+			<member name="GDU_CREATE_VOLUME_FLAGS_LINUX_MD" value="1"/>
+			<member name="GDU_CREATE_VOLUME_FLAGS_LINUX_LVM2" value="2"/>
+		</enum>
+		<enum name="GduError">
+			<member name="GDU_ERROR_FAILED" value="0"/>
+			<member name="GDU_ERROR_BUSY" value="1"/>
+			<member name="GDU_ERROR_CANCELLED" value="2"/>
+			<member name="GDU_ERROR_INHIBITED" value="3"/>
+			<member name="GDU_ERROR_INVALID_OPTION" value="4"/>
+			<member name="GDU_ERROR_NOT_SUPPORTED" value="5"/>
+			<member name="GDU_ERROR_ATA_SMART_WOULD_WAKEUP" value="6"/>
+			<member name="GDU_ERROR_PERMISSION_DENIED" value="7"/>
+			<member name="GDU_ERROR_FILESYSTEM_DRIVER_MISSING" value="8"/>
+			<member name="GDU_ERROR_FILESYSTEM_TOOLS_MISSING" value="9"/>
+		</enum>
+		<enum name="GduHubUsage">
+			<member name="GDU_HUB_USAGE_ADAPTER" value="0"/>
+			<member name="GDU_HUB_USAGE_EXPANDER" value="1"/>
+			<member name="GDU_HUB_USAGE_MULTI_DISK_DEVICES" value="2"/>
+			<member name="GDU_HUB_USAGE_MULTI_PATH_DEVICES" value="3"/>
+		</enum>
+		<enum name="GduLinuxLvm2VolumeGroupState">
+			<member name="GDU_LINUX_LVM2_VOLUME_GROUP_STATE_NOT_RUNNING" value="0"/>
+			<member name="GDU_LINUX_LVM2_VOLUME_GROUP_STATE_PARTIALLY_RUNNING" value="1"/>
+			<member name="GDU_LINUX_LVM2_VOLUME_GROUP_STATE_RUNNING" value="2"/>
+		</enum>
+		<enum name="GduLinuxMdDriveSlaveFlags">
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_NONE" value="0"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_NOT_ATTACHED" value="1"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_FAULTY" value="2"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_IN_SYNC" value="4"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_WRITEMOSTLY" value="8"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_BLOCKED" value="16"/>
+			<member name="GDU_LINUX_MD_DRIVE_SLAVE_FLAGS_SPARE" value="32"/>
+		</enum>
+		<enum name="GduVolumeFlags">
+			<member name="GDU_VOLUME_FLAGS_NONE" value="0"/>
+			<member name="GDU_VOLUME_FLAGS_PARTITION" value="1"/>
+			<member name="GDU_VOLUME_FLAGS_PARTITION_MBR_LOGICAL" value="2"/>
+			<member name="GDU_VOLUME_FLAGS_PARTITION_MBR_EXTENDED" value="4"/>
+		</enum>
+		<object name="GduAdapter" parent="GObject" type-name="GduAdapter" get-type="gdu_adapter_get_type">
+			<method name="get_driver" symbol="gdu_adapter_get_driver">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_fabric" symbol="gdu_adapter_get_fabric">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_model" symbol="gdu_adapter_get_model">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_native_path" symbol="gdu_adapter_get_native_path">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_num_ports" symbol="gdu_adapter_get_num_ports">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_object_path" symbol="gdu_adapter_get_object_path">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_adapter_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<method name="get_vendor" symbol="gdu_adapter_get_vendor">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</method>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</signal>
+			<signal name="removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduDevice" parent="GObject" type-name="GduDevice" get-type="gdu_device_get_type">
+			<method name="drive_ata_smart_get_blob" symbol="gdu_device_drive_ata_smart_get_blob">
+				<return-type type="gconstpointer"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="out_size" type="gsize*"/>
+				</parameters>
+			</method>
+			<method name="drive_ata_smart_get_is_available" symbol="gdu_device_drive_ata_smart_get_is_available">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_ata_smart_get_status" symbol="gdu_device_drive_ata_smart_get_status">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_ata_smart_get_time_collected" symbol="gdu_device_drive_ata_smart_get_time_collected">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_ata_smart_refresh_data" symbol="gdu_device_drive_ata_smart_refresh_data">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceDriveAtaSmartRefreshDataCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="drive_get_adapter" symbol="gdu_device_drive_get_adapter">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_can_detach" symbol="gdu_device_drive_get_can_detach">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_can_spindown" symbol="gdu_device_drive_get_can_spindown">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_connection_interface" symbol="gdu_device_drive_get_connection_interface">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_connection_speed" symbol="gdu_device_drive_get_connection_speed">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_is_media_ejectable" symbol="gdu_device_drive_get_is_media_ejectable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_is_rotational" symbol="gdu_device_drive_get_is_rotational">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_media" symbol="gdu_device_drive_get_media">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_media_compatibility" symbol="gdu_device_drive_get_media_compatibility">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_model" symbol="gdu_device_drive_get_model">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_ports" symbol="gdu_device_drive_get_ports">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_requires_eject" symbol="gdu_device_drive_get_requires_eject">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_revision" symbol="gdu_device_drive_get_revision">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_rotation_rate" symbol="gdu_device_drive_get_rotation_rate">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_serial" symbol="gdu_device_drive_get_serial">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_similar_devices" symbol="gdu_device_drive_get_similar_devices">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_vendor" symbol="gdu_device_drive_get_vendor">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_write_cache" symbol="gdu_device_drive_get_write_cache">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="drive_get_wwn" symbol="gdu_device_drive_get_wwn">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="filesystem_list_open_files" symbol="gdu_device_filesystem_list_open_files">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceFilesystemListOpenFilesCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="filesystem_list_open_files_sync" symbol="gdu_device_filesystem_list_open_files_sync">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
+			<method name="find_parent" symbol="gdu_device_find_parent">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_block_size" symbol="gdu_device_get_block_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_detection_time" symbol="gdu_device_get_detection_time">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_dev" symbol="gdu_device_get_dev">
+				<return-type type="dev_t"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_device_file" symbol="gdu_device_get_device_file">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_device_file_presentation" symbol="gdu_device_get_device_file_presentation">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_media_detection_time" symbol="gdu_device_get_media_detection_time">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_mount_path" symbol="gdu_device_get_mount_path">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_mount_paths" symbol="gdu_device_get_mount_paths">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_mounted_by_uid" symbol="gdu_device_get_mounted_by_uid">
+				<return-type type="uid_t"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_object_path" symbol="gdu_device_get_object_path">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_device_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_presentation_hide" symbol="gdu_device_get_presentation_hide">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_presentation_icon_name" symbol="gdu_device_get_presentation_icon_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_presentation_name" symbol="gdu_device_get_presentation_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_presentation_nopolicy" symbol="gdu_device_get_presentation_nopolicy">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_device_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="id_get_label" symbol="gdu_device_id_get_label">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="id_get_type" symbol="gdu_device_id_get_type">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="id_get_usage" symbol="gdu_device_id_get_usage">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="id_get_uuid" symbol="gdu_device_id_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="id_get_version" symbol="gdu_device_id_get_version">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_drive" symbol="gdu_device_is_drive">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_dmmp" symbol="gdu_device_is_linux_dmmp">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_dmmp_component" symbol="gdu_device_is_linux_dmmp_component">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_loop" symbol="gdu_device_is_linux_loop">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_lvm2_lv" symbol="gdu_device_is_linux_lvm2_lv">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_lvm2_pv" symbol="gdu_device_is_linux_lvm2_pv">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_md" symbol="gdu_device_is_linux_md">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_linux_md_component" symbol="gdu_device_is_linux_md_component">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_luks" symbol="gdu_device_is_luks">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_luks_cleartext" symbol="gdu_device_is_luks_cleartext">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_media_available" symbol="gdu_device_is_media_available">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_media_change_detected" symbol="gdu_device_is_media_change_detected">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_media_change_detection_inhibitable" symbol="gdu_device_is_media_change_detection_inhibitable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_media_change_detection_inhibited" symbol="gdu_device_is_media_change_detection_inhibited">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_media_change_detection_polling" symbol="gdu_device_is_media_change_detection_polling">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_mounted" symbol="gdu_device_is_mounted">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_optical_disc" symbol="gdu_device_is_optical_disc">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_partition" symbol="gdu_device_is_partition">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_partition_table" symbol="gdu_device_is_partition_table">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_read_only" symbol="gdu_device_is_read_only">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_removable" symbol="gdu_device_is_removable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="is_system_internal" symbol="gdu_device_is_system_internal">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="job_get_id" symbol="gdu_device_job_get_id">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="job_get_initiated_by_uid" symbol="gdu_device_job_get_initiated_by_uid">
+				<return-type type="uid_t"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="job_get_percentage" symbol="gdu_device_job_get_percentage">
+				<return-type type="double"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="job_in_progress" symbol="gdu_device_job_in_progress">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="job_is_cancellable" symbol="gdu_device_job_is_cancellable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_dmmp_component_get_holder" symbol="gdu_device_linux_dmmp_component_get_holder">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_dmmp_get_name" symbol="gdu_device_linux_dmmp_get_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_dmmp_get_parameters" symbol="gdu_device_linux_dmmp_get_parameters">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_dmmp_get_slaves" symbol="gdu_device_linux_dmmp_get_slaves">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_loop_get_filename" symbol="gdu_device_linux_loop_get_filename">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_lv_get_group_name" symbol="gdu_device_linux_lvm2_lv_get_group_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_lv_get_group_uuid" symbol="gdu_device_linux_lvm2_lv_get_group_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_lv_get_name" symbol="gdu_device_linux_lvm2_lv_get_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_lv_get_uuid" symbol="gdu_device_linux_lvm2_lv_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_extent_size" symbol="gdu_device_linux_lvm2_pv_get_group_extent_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_logical_volumes" symbol="gdu_device_linux_lvm2_pv_get_group_logical_volumes">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_name" symbol="gdu_device_linux_lvm2_pv_get_group_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_physical_volumes" symbol="gdu_device_linux_lvm2_pv_get_group_physical_volumes">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_sequence_number" symbol="gdu_device_linux_lvm2_pv_get_group_sequence_number">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_size" symbol="gdu_device_linux_lvm2_pv_get_group_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_unallocated_size" symbol="gdu_device_linux_lvm2_pv_get_group_unallocated_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_group_uuid" symbol="gdu_device_linux_lvm2_pv_get_group_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_num_metadata_areas" symbol="gdu_device_linux_lvm2_pv_get_num_metadata_areas">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_lvm2_pv_get_uuid" symbol="gdu_device_linux_lvm2_pv_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_holder" symbol="gdu_device_linux_md_component_get_holder">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_home_host" symbol="gdu_device_linux_md_component_get_home_host">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_level" symbol="gdu_device_linux_md_component_get_level">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_name" symbol="gdu_device_linux_md_component_get_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_num_raid_devices" symbol="gdu_device_linux_md_component_get_num_raid_devices">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_position" symbol="gdu_device_linux_md_component_get_position">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_state" symbol="gdu_device_linux_md_component_get_state">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_uuid" symbol="gdu_device_linux_md_component_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_component_get_version" symbol="gdu_device_linux_md_component_get_version">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_home_host" symbol="gdu_device_linux_md_get_home_host">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_level" symbol="gdu_device_linux_md_get_level">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_name" symbol="gdu_device_linux_md_get_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_num_raid_devices" symbol="gdu_device_linux_md_get_num_raid_devices">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_slaves" symbol="gdu_device_linux_md_get_slaves">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_state" symbol="gdu_device_linux_md_get_state">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_sync_action" symbol="gdu_device_linux_md_get_sync_action">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_sync_percentage" symbol="gdu_device_linux_md_get_sync_percentage">
+				<return-type type="double"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_sync_speed" symbol="gdu_device_linux_md_get_sync_speed">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_uuid" symbol="gdu_device_linux_md_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_get_version" symbol="gdu_device_linux_md_get_version">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="linux_md_is_degraded" symbol="gdu_device_linux_md_is_degraded">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="luks_cleartext_get_slave" symbol="gdu_device_luks_cleartext_get_slave">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="luks_cleartext_unlocked_by_uid" symbol="gdu_device_luks_cleartext_unlocked_by_uid">
+				<return-type type="uid_t"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="luks_get_holder" symbol="gdu_device_luks_get_holder">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="op_cancel_job" symbol="gdu_device_op_cancel_job">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceCancelJobCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_drive_ata_smart_initiate_selftest" symbol="gdu_device_op_drive_ata_smart_initiate_selftest">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="test" type="char*"/>
+					<parameter name="callback" type="GduDeviceDriveAtaSmartInitiateSelftestCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_drive_benchmark" symbol="gdu_device_op_drive_benchmark">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="do_write_benchmark" type="gboolean"/>
+					<parameter name="options" type="gchar**"/>
+					<parameter name="callback" type="GduDeviceDriveBenchmarkCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_drive_detach" symbol="gdu_device_op_drive_detach">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceDriveDetachCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_drive_eject" symbol="gdu_device_op_drive_eject">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceDriveEjectCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_drive_poll_media" symbol="gdu_device_op_drive_poll_media">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceDrivePollMediaCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_filesystem_check" symbol="gdu_device_op_filesystem_check">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceFilesystemCheckCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_filesystem_create" symbol="gdu_device_op_filesystem_create">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="fstype" type="char*"/>
+					<parameter name="fslabel" type="char*"/>
+					<parameter name="encrypt_passphrase" type="char*"/>
+					<parameter name="fs_take_ownership" type="gboolean"/>
+					<parameter name="callback" type="GduDeviceFilesystemCreateCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_filesystem_mount" symbol="gdu_device_op_filesystem_mount">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="options" type="gchar**"/>
+					<parameter name="callback" type="GduDeviceFilesystemMountCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_filesystem_set_label" symbol="gdu_device_op_filesystem_set_label">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="new_label" type="char*"/>
+					<parameter name="callback" type="GduDeviceFilesystemSetLabelCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_filesystem_unmount" symbol="gdu_device_op_filesystem_unmount">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceFilesystemUnmountCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_lv_stop" symbol="gdu_device_op_linux_lvm2_lv_stop">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceLinuxLvm2LVStopCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_add_spare" symbol="gdu_device_op_linux_md_add_spare">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="component_objpath" type="char*"/>
+					<parameter name="callback" type="GduDeviceLinuxMdAddSpareCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_check" symbol="gdu_device_op_linux_md_check">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="options" type="gchar**"/>
+					<parameter name="callback" type="GduDeviceLinuxMdCheckCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_expand" symbol="gdu_device_op_linux_md_expand">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="component_objpaths" type="GPtrArray*"/>
+					<parameter name="callback" type="GduDeviceLinuxMdExpandCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_remove_component" symbol="gdu_device_op_linux_md_remove_component">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="component_objpath" type="char*"/>
+					<parameter name="callback" type="GduDeviceLinuxMdRemoveComponentCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_stop" symbol="gdu_device_op_linux_md_stop">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceLinuxMdStopCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_luks_change_passphrase" symbol="gdu_device_op_luks_change_passphrase">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="old_secret" type="char*"/>
+					<parameter name="new_secret" type="char*"/>
+					<parameter name="callback" type="GduDeviceLuksChangePassphraseCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_luks_lock" symbol="gdu_device_op_luks_lock">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDeviceLuksLockCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_luks_unlock" symbol="gdu_device_op_luks_unlock">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="secret" type="char*"/>
+					<parameter name="callback" type="GduDeviceLuksUnlockCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_partition_create" symbol="gdu_device_op_partition_create">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="offset" type="guint64"/>
+					<parameter name="size" type="guint64"/>
+					<parameter name="type" type="char*"/>
+					<parameter name="label" type="char*"/>
+					<parameter name="flags" type="char**"/>
+					<parameter name="fstype" type="char*"/>
+					<parameter name="fslabel" type="char*"/>
+					<parameter name="encrypt_passphrase" type="char*"/>
+					<parameter name="fs_take_ownership" type="gboolean"/>
+					<parameter name="callback" type="GduDevicePartitionCreateCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_partition_delete" symbol="gdu_device_op_partition_delete">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="callback" type="GduDevicePartitionDeleteCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_partition_modify" symbol="gdu_device_op_partition_modify">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="type" type="char*"/>
+					<parameter name="label" type="char*"/>
+					<parameter name="flags" type="char**"/>
+					<parameter name="callback" type="GduDevicePartitionModifyCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_partition_table_create" symbol="gdu_device_op_partition_table_create">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+					<parameter name="scheme" type="char*"/>
+					<parameter name="callback" type="GduDevicePartitionTableCreateCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_is_appendable" symbol="gdu_device_optical_disc_get_is_appendable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_is_blank" symbol="gdu_device_optical_disc_get_is_blank">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_is_closed" symbol="gdu_device_optical_disc_get_is_closed">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_num_audio_tracks" symbol="gdu_device_optical_disc_get_num_audio_tracks">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_num_sessions" symbol="gdu_device_optical_disc_get_num_sessions">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="optical_disc_get_num_tracks" symbol="gdu_device_optical_disc_get_num_tracks">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_alignment_offset" symbol="gdu_device_partition_get_alignment_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_flags" symbol="gdu_device_partition_get_flags">
+				<return-type type="char**"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_label" symbol="gdu_device_partition_get_label">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_number" symbol="gdu_device_partition_get_number">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_offset" symbol="gdu_device_partition_get_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_scheme" symbol="gdu_device_partition_get_scheme">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_size" symbol="gdu_device_partition_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_slave" symbol="gdu_device_partition_get_slave">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_type" symbol="gdu_device_partition_get_type">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_get_uuid" symbol="gdu_device_partition_get_uuid">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_table_get_count" symbol="gdu_device_partition_table_get_count">
+				<return-type type="int"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="partition_table_get_scheme" symbol="gdu_device_partition_table_get_scheme">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="should_ignore" symbol="gdu_device_should_ignore">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="job-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduDrive" parent="GObject" type-name="GduDrive" get-type="gdu_drive_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="activate" symbol="gdu_drive_activate">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="callback" type="GduDriveActivateFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="can_activate" symbol="gdu_drive_can_activate">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="out_degraded" type="gboolean*"/>
+				</parameters>
+			</method>
+			<method name="can_create_volume" symbol="gdu_drive_can_create_volume">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="out_is_uninitialized" type="gboolean*"/>
+					<parameter name="out_largest_contiguous_free_segment" type="guint64*"/>
+					<parameter name="out_total_free" type="guint64*"/>
+					<parameter name="out_presentable" type="GduPresentable**"/>
+				</parameters>
+			</method>
+			<method name="can_deactivate" symbol="gdu_drive_can_deactivate">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</method>
+			<method name="count_mbr_partitions" symbol="gdu_drive_count_mbr_partitions">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="out_num_primary_partitions" type="guint*"/>
+					<parameter name="out_has_extended_partition" type="gboolean*"/>
+				</parameters>
+			</method>
+			<method name="create_volume" symbol="gdu_drive_create_volume">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="size" type="guint64"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="flags" type="GduCreateVolumeFlags"/>
+					<parameter name="callback" type="GAsyncReadyCallback"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="create_volume_finish" symbol="gdu_drive_create_volume_finish">
+				<return-type type="GduVolume*"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="res" type="GAsyncResult*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</method>
+			<method name="deactivate" symbol="gdu_drive_deactivate">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="callback" type="GduDriveDeactivateFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="get_volumes" symbol="gdu_drive_get_volumes">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</method>
+			<method name="is_activatable" symbol="gdu_drive_is_activatable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</method>
+			<method name="is_active" symbol="gdu_drive_is_active">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</method>
+			<vfunc name="activate">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="callback" type="GduDriveActivateFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="can_activate">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="out_degraded" type="gboolean*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="can_create_volume">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="out_is_uninitialized" type="gboolean*"/>
+					<parameter name="out_largest_contiguous_free_segment" type="guint64*"/>
+					<parameter name="out_total_free" type="guint64*"/>
+					<parameter name="out_presentable" type="GduPresentable**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="can_deactivate">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="create_volume">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="size" type="guint64"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="flags" type="GduCreateVolumeFlags"/>
+					<parameter name="callback" type="GAsyncReadyCallback"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="create_volume_finish">
+				<return-type type="GduVolume*"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="res" type="GAsyncResult*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="deactivate">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+					<parameter name="callback" type="GduDriveDeactivateFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_activatable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_active">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduDrive*"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="GduExpander" parent="GObject" type-name="GduExpander" get-type="gdu_expander_get_type">
+			<method name="get_adapter" symbol="gdu_expander_get_adapter">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_model" symbol="gdu_expander_get_model">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_native_path" symbol="gdu_expander_get_native_path">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_num_ports" symbol="gdu_expander_get_num_ports">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_object_path" symbol="gdu_expander_get_object_path">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_expander_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_revision" symbol="gdu_expander_get_revision">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_upstream_ports" symbol="gdu_expander_get_upstream_ports">
+				<return-type type="gchar**"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<method name="get_vendor" symbol="gdu_expander_get_vendor">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</method>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</signal>
+			<signal name="removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduHub" parent="GObject" type-name="GduHub" get-type="gdu_hub_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="get_adapter" symbol="gdu_hub_get_adapter">
+				<return-type type="GduAdapter*"/>
+				<parameters>
+					<parameter name="hub" type="GduHub*"/>
+				</parameters>
+			</method>
+			<method name="get_expander" symbol="gdu_hub_get_expander">
+				<return-type type="GduExpander*"/>
+				<parameters>
+					<parameter name="hub" type="GduHub*"/>
+				</parameters>
+			</method>
+			<method name="get_usage" symbol="gdu_hub_get_usage">
+				<return-type type="GduHubUsage"/>
+				<parameters>
+					<parameter name="hub" type="GduHub*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduKnownFilesystem" parent="GObject" type-name="GduKnownFilesystem" get-type="gdu_known_filesystem_get_type">
+			<method name="get_can_create" symbol="gdu_known_filesystem_get_can_create">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_can_mount" symbol="gdu_known_filesystem_get_can_mount">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_id" symbol="gdu_known_filesystem_get_id">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_max_label_len" symbol="gdu_known_filesystem_get_max_label_len">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_name" symbol="gdu_known_filesystem_get_name">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_fsck" symbol="gdu_known_filesystem_get_supports_fsck">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_label_rename" symbol="gdu_known_filesystem_get_supports_label_rename">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_online_fsck" symbol="gdu_known_filesystem_get_supports_online_fsck">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_online_label_rename" symbol="gdu_known_filesystem_get_supports_online_label_rename">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_online_resize_enlarge" symbol="gdu_known_filesystem_get_supports_online_resize_enlarge">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_online_resize_shrink" symbol="gdu_known_filesystem_get_supports_online_resize_shrink">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_resize_enlarge" symbol="gdu_known_filesystem_get_supports_resize_enlarge">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_resize_shrink" symbol="gdu_known_filesystem_get_supports_resize_shrink">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+			<method name="get_supports_unix_owners" symbol="gdu_known_filesystem_get_supports_unix_owners">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="known_filesystem" type="GduKnownFilesystem*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduLinuxLvm2Volume" parent="GduVolume" type-name="GduLinuxLvm2Volume" get-type="gdu_linux_lvm2_volume_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="get_group_uuid" symbol="gdu_linux_lvm2_volume_get_group_uuid">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="volume" type="GduLinuxLvm2Volume*"/>
+				</parameters>
+			</method>
+			<method name="get_name" symbol="gdu_linux_lvm2_volume_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="volume" type="GduLinuxLvm2Volume*"/>
+				</parameters>
+			</method>
+			<method name="get_uuid" symbol="gdu_linux_lvm2_volume_get_uuid">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="volume" type="GduLinuxLvm2Volume*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduLinuxLvm2VolumeGroup" parent="GduDrive" type-name="GduLinuxLvm2VolumeGroup" get-type="gdu_linux_lvm2_volume_group_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="get_compute_new_lv_name" symbol="gdu_linux_lvm2_volume_group_get_compute_new_lv_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</method>
+			<method name="get_lv_info" symbol="gdu_linux_lvm2_volume_group_get_lv_info">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+					<parameter name="lv_uuid" type="gchar*"/>
+					<parameter name="out_position" type="guint*"/>
+					<parameter name="out_name" type="gchar**"/>
+					<parameter name="out_size" type="guint64*"/>
+				</parameters>
+			</method>
+			<method name="get_num_lvs" symbol="gdu_linux_lvm2_volume_group_get_num_lvs">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</method>
+			<method name="get_pv_device" symbol="gdu_linux_lvm2_volume_group_get_pv_device">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</method>
+			<method name="get_pv_info" symbol="gdu_linux_lvm2_volume_group_get_pv_info">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+					<parameter name="pv_uuid" type="gchar*"/>
+					<parameter name="out_position" type="guint*"/>
+					<parameter name="out_size" type="guint64*"/>
+					<parameter name="out_allocated_size" type="guint64*"/>
+				</parameters>
+			</method>
+			<method name="get_state" symbol="gdu_linux_lvm2_volume_group_get_state">
+				<return-type type="GduLinuxLvm2VolumeGroupState"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</method>
+			<method name="get_uuid" symbol="gdu_linux_lvm2_volume_group_get_uuid">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="vg" type="GduLinuxLvm2VolumeGroup*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduLinuxLvm2VolumeHole" parent="GduVolumeHole" type-name="GduLinuxLvm2VolumeHole" get-type="gdu_linux_lvm2_volume_hole_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+		</object>
+		<object name="GduLinuxMdDrive" parent="GduDrive" type-name="GduLinuxMdDrive" get-type="gdu_linux_md_drive_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="get_slave_flags" symbol="gdu_linux_md_drive_get_slave_flags">
+				<return-type type="GduLinuxMdDriveSlaveFlags"/>
+				<parameters>
+					<parameter name="drive" type="GduLinuxMdDrive*"/>
+					<parameter name="slave" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_slave_state_markup" symbol="gdu_linux_md_drive_get_slave_state_markup">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="drive" type="GduLinuxMdDrive*"/>
+					<parameter name="slave" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_slaves" symbol="gdu_linux_md_drive_get_slaves">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="drive" type="GduLinuxMdDrive*"/>
+				</parameters>
+			</method>
+			<method name="get_uuid" symbol="gdu_linux_md_drive_get_uuid">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="drive" type="GduLinuxMdDrive*"/>
+				</parameters>
+			</method>
+			<method name="has_slave" symbol="gdu_linux_md_drive_has_slave">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="drive" type="GduLinuxMdDrive*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduMachine" parent="GObject" type-name="GduMachine" get-type="gdu_machine_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+		</object>
+		<object name="GduPool" parent="GObject" type-name="GduPool" get-type="gdu_pool_get_type">
+			<method name="get_adapter_by_object_path" symbol="gdu_pool_get_adapter_by_object_path">
+				<return-type type="GduAdapter*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="object_path" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_adapters" symbol="gdu_pool_get_adapters">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_by_device_file" symbol="gdu_pool_get_by_device_file">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device_file" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_by_object_path" symbol="gdu_pool_get_by_object_path">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="object_path" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_daemon_version" symbol="gdu_pool_get_daemon_version">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_devices" symbol="gdu_pool_get_devices">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_drive_by_device" symbol="gdu_pool_get_drive_by_device">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="get_enclosed_presentables" symbol="gdu_pool_get_enclosed_presentables">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_expander_by_object_path" symbol="gdu_pool_get_expander_by_object_path">
+				<return-type type="GduExpander*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="object_path" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_expanders" symbol="gdu_pool_get_expanders">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_hub_by_object_path" symbol="gdu_pool_get_hub_by_object_path">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="object_path" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_known_filesystem_by_id" symbol="gdu_pool_get_known_filesystem_by_id">
+				<return-type type="GduKnownFilesystem*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="id" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_known_filesystems" symbol="gdu_pool_get_known_filesystems">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_linux_md_drive_by_uuid" symbol="gdu_pool_get_linux_md_drive_by_uuid">
+				<return-type type="GduLinuxMdDrive*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="uuid" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_port_by_object_path" symbol="gdu_pool_get_port_by_object_path">
+				<return-type type="GduPort*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="object_path" type="char*"/>
+				</parameters>
+			</method>
+			<method name="get_ports" symbol="gdu_pool_get_ports">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_presentable_by_id" symbol="gdu_pool_get_presentable_by_id">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="id" type="gchar*"/>
+				</parameters>
+			</method>
+			<method name="get_presentables" symbol="gdu_pool_get_presentables">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_ssh_address" symbol="gdu_pool_get_ssh_address">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_ssh_user_name" symbol="gdu_pool_get_ssh_user_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<method name="get_volume_by_device" symbol="gdu_pool_get_volume_by_device">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</method>
+			<method name="has_presentable" symbol="gdu_pool_has_presentable">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="is_daemon_inhibited" symbol="gdu_pool_is_daemon_inhibited">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<constructor name="new" symbol="gdu_pool_new">
+				<return-type type="GduPool*"/>
+			</constructor>
+			<constructor name="new_for_address" symbol="gdu_pool_new_for_address">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="ssh_user_name" type="gchar*"/>
+					<parameter name="ssh_address" type="gchar*"/>
+					<parameter name="error" type="GError**"/>
+				</parameters>
+			</constructor>
+			<method name="op_linux_lvm2_lv_create" symbol="gdu_pool_op_linux_lvm2_lv_create">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="group_uuid" type="gchar*"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="size" type="guint64"/>
+					<parameter name="num_stripes" type="guint"/>
+					<parameter name="stripe_size" type="guint64"/>
+					<parameter name="num_mirrors" type="guint"/>
+					<parameter name="fstype" type="char*"/>
+					<parameter name="fslabel" type="char*"/>
+					<parameter name="encrypt_passphrase" type="char*"/>
+					<parameter name="fs_take_ownership" type="gboolean"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2LVCreateCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_lv_remove" symbol="gdu_pool_op_linux_lvm2_lv_remove">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="group_uuid" type="gchar*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2LVRemoveCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_lv_set_name" symbol="gdu_pool_op_linux_lvm2_lv_set_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="group_uuid" type="gchar*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="new_name" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2LVSetNameCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_lv_start" symbol="gdu_pool_op_linux_lvm2_lv_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="group_uuid" type="gchar*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGStartCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_vg_add_pv" symbol="gdu_pool_op_linux_lvm2_vg_add_pv">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="physical_volume_object_path" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGAddPVCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_vg_remove_pv" symbol="gdu_pool_op_linux_lvm2_vg_remove_pv">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="vg_uuid" type="gchar*"/>
+					<parameter name="pv_uuid" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGRemovePVCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_vg_set_name" symbol="gdu_pool_op_linux_lvm2_vg_set_name">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="new_name" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGSetNameCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_vg_start" symbol="gdu_pool_op_linux_lvm2_vg_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGStartCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_lvm2_vg_stop" symbol="gdu_pool_op_linux_lvm2_vg_stop">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="uuid" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxLvm2VGStopCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_create" symbol="gdu_pool_op_linux_md_create">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="component_objpaths" type="GPtrArray*"/>
+					<parameter name="level" type="gchar*"/>
+					<parameter name="stripe_size" type="guint64"/>
+					<parameter name="name" type="gchar*"/>
+					<parameter name="callback" type="GduPoolLinuxMdCreateCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="op_linux_md_start" symbol="gdu_pool_op_linux_md_start">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="component_objpaths" type="GPtrArray*"/>
+					<parameter name="callback" type="GduPoolLinuxMdStartCompletedFunc"/>
+					<parameter name="user_data" type="gpointer"/>
+				</parameters>
+			</method>
+			<method name="supports_luks_devices" symbol="gdu_pool_supports_luks_devices">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</method>
+			<signal name="adapter-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</signal>
+			<signal name="adapter-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</signal>
+			<signal name="adapter-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="adapter" type="GduAdapter*"/>
+				</parameters>
+			</signal>
+			<signal name="device-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="device-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="device-job-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="device-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="device" type="GduDevice*"/>
+				</parameters>
+			</signal>
+			<signal name="disconnected" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+				</parameters>
+			</signal>
+			<signal name="expander-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</signal>
+			<signal name="expander-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</signal>
+			<signal name="expander-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="expander" type="GduExpander*"/>
+				</parameters>
+			</signal>
+			<signal name="port-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</signal>
+			<signal name="port-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</signal>
+			<signal name="port-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</signal>
+			<signal name="presentable-added" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<signal name="presentable-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<signal name="presentable-job-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<signal name="presentable-removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="pool" type="GduPool*"/>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduPort" parent="GObject" type-name="GduPort" get-type="gdu_port_get_type">
+			<method name="get_adapter" symbol="gdu_port_get_adapter">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_connector_type" symbol="gdu_port_get_connector_type">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_native_path" symbol="gdu_port_get_native_path">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_number" symbol="gdu_port_get_number">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_object_path" symbol="gdu_port_get_object_path">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_parent" symbol="gdu_port_get_parent">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_port_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</method>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</signal>
+			<signal name="removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="port" type="GduPort*"/>
+				</parameters>
+			</signal>
+		</object>
+		<object name="GduProcess" parent="GObject" type-name="GduProcess" get-type="gdu_process_get_type">
+			<method name="get_app_info" symbol="gdu_process_get_app_info">
+				<return-type type="GAppInfo*"/>
+				<parameters>
+					<parameter name="process" type="GduProcess*"/>
+				</parameters>
+			</method>
+			<method name="get_command_line" symbol="gdu_process_get_command_line">
+				<return-type type="char*"/>
+				<parameters>
+					<parameter name="process" type="GduProcess*"/>
+				</parameters>
+			</method>
+			<method name="get_id" symbol="gdu_process_get_id">
+				<return-type type="pid_t"/>
+				<parameters>
+					<parameter name="process" type="GduProcess*"/>
+				</parameters>
+			</method>
+			<method name="get_owner" symbol="gdu_process_get_owner">
+				<return-type type="uid_t"/>
+				<parameters>
+					<parameter name="process" type="GduProcess*"/>
+				</parameters>
+			</method>
+		</object>
+		<object name="GduVolume" parent="GObject" type-name="GduVolume" get-type="gdu_volume_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+			<method name="get_drive" symbol="gdu_volume_get_drive">
+				<return-type type="GduDrive*"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</method>
+			<method name="get_flags" symbol="gdu_volume_get_flags">
+				<return-type type="GduVolumeFlags"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</method>
+			<method name="is_allocated" symbol="gdu_volume_is_allocated">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</method>
+			<method name="is_recognized" symbol="gdu_volume_is_recognized">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</method>
+			<vfunc name="get_flags">
+				<return-type type="GduVolumeFlags"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_allocated">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_recognized">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="volume" type="GduVolume*"/>
+				</parameters>
+			</vfunc>
+		</object>
+		<object name="GduVolumeHole" parent="GObject" type-name="GduVolumeHole" get-type="gdu_volume_hole_get_type">
+			<implements>
+				<interface name="GduPresentable"/>
+			</implements>
+		</object>
+		<interface name="GduPresentable" type-name="GduPresentable" get-type="gdu_presentable_get_type">
+			<requires>
+				<interface name="GObject"/>
+			</requires>
+			<method name="compare" symbol="gdu_presentable_compare">
+				<return-type type="gint"/>
+				<parameters>
+					<parameter name="a" type="GduPresentable*"/>
+					<parameter name="b" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="encloses" symbol="gdu_presentable_encloses">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="a" type="GduPresentable*"/>
+					<parameter name="b" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="equals" symbol="gdu_presentable_equals">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="a" type="GduPresentable*"/>
+					<parameter name="b" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_description" symbol="gdu_presentable_get_description">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_device" symbol="gdu_presentable_get_device">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_enclosed" symbol="gdu_presentable_get_enclosed">
+				<return-type type="GList*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_enclosing_presentable" symbol="gdu_presentable_get_enclosing_presentable">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_icon" symbol="gdu_presentable_get_icon">
+				<return-type type="GIcon*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_id" symbol="gdu_presentable_get_id">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_name" symbol="gdu_presentable_get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_offset" symbol="gdu_presentable_get_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_pool" symbol="gdu_presentable_get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_size" symbol="gdu_presentable_get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_toplevel" symbol="gdu_presentable_get_toplevel">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="get_vpd_name" symbol="gdu_presentable_get_vpd_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="hash" symbol="gdu_presentable_hash">
+				<return-type type="guint"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="is_allocated" symbol="gdu_presentable_is_allocated">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<method name="is_recognized" symbol="gdu_presentable_is_recognized">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</method>
+			<signal name="changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<signal name="job-changed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<signal name="removed" when="LAST">
+				<return-type type="void"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</signal>
+			<vfunc name="get_description">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_device">
+				<return-type type="GduDevice*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_enclosing_presentable">
+				<return-type type="GduPresentable*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_icon">
+				<return-type type="GIcon*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_id">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_offset">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_pool">
+				<return-type type="GduPool*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_size">
+				<return-type type="guint64"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="get_vpd_name">
+				<return-type type="gchar*"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_allocated">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+			<vfunc name="is_recognized">
+				<return-type type="gboolean"/>
+				<parameters>
+					<parameter name="presentable" type="GduPresentable*"/>
+				</parameters>
+			</vfunc>
+		</interface>
+	</namespace>
+</api>
diff --git a/vapi/packages/gdu/gdu.metadata b/vapi/packages/gdu/gdu.metadata
new file mode 100644
index 0000000..86b1c82
--- /dev/null
+++ b/vapi/packages/gdu/gdu.metadata
@@ -0,0 +1,3 @@
+Gdu cheader_filename="gdu/gdu.h"
+dev_t name="ulong"
+uid_t name="ulong"
diff --git a/vapi/packages/gdu/gdu.namespace b/vapi/packages/gdu/gdu.namespace
new file mode 100644
index 0000000..f0dc420
--- /dev/null
+++ b/vapi/packages/gdu/gdu.namespace
@@ -0,0 +1 @@
+Gdu



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