/* GnomeBluetooth-1.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Bluetooth", gir_namespace = "GnomeBluetooth", gir_version = "1.0", lower_case_cprefix = "bluetooth_")]
namespace Bluetooth {
	[CCode (cheader_filename = "bluetooth-chooser.h", type_id = "bluetooth_chooser_get_type ()")]
	public class Chooser : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public Chooser ();
		public void dump_selected_device ();
		public unowned Gtk.Widget get_scrolled_window ();
		public string get_selected_device ();
		public string get_selected_device_icon ();
		public bool get_selected_device_info (string field, GLib.Value value);
		public bool get_selected_device_is_connected ();
		public string get_selected_device_name ();
		public Bluetooth.Type get_selected_device_type ();
		public void start_discovery ();
		public void stop_discovery ();
		[NoAccessorMethod]
		public string device_selected { owned get; set; }
		[NoAccessorMethod]
		public string device_service_filter { set; }
		[NoAccessorMethod]
		public int device_type_filter { get; set construct; }
		[NoAccessorMethod]
		public bool has_internal_device_filter { get; construct; }
		[NoAccessorMethod]
		public bool show_connected { get; set; }
		[NoAccessorMethod]
		public bool show_device_category { get; set construct; }
		[NoAccessorMethod]
		public bool show_device_type { get; set construct; }
		[NoAccessorMethod]
		public bool show_device_type_column { get; set construct; }
		[NoAccessorMethod]
		public bool show_pairing { get; set; }
		[NoAccessorMethod]
		public bool show_searching { get; set; }
		public virtual signal void selected_device_activated (string address);
		public virtual signal void selected_device_changed (string address);
	}
	[CCode (cheader_filename = "bluetooth-chooser-button.h", type_id = "bluetooth_chooser_button_get_type ()")]
	public class ChooserButton : Gtk.Button, Atk.Implementor, Gtk.Actionable, Gtk.Activatable, Gtk.Buildable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public ChooserButton ();
		public bool available ();
		[NoAccessorMethod]
		public string device { owned get; set construct; }
		[NoAccessorMethod]
		public bool is_available { get; }
		public virtual signal void chooser_created (GLib.Object chooser);
	}
	[CCode (cheader_filename = "bluetooth-chooser-combo.h", type_id = "bluetooth_chooser_combo_get_type ()")]
	public class ChooserCombo : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public ChooserCombo ();
		[NoAccessorMethod]
		public Bluetooth.Chooser chooser { owned get; }
		[NoAccessorMethod]
		public string device { owned get; set; }
		public virtual signal void chooser_created (GLib.Object chooser);
	}
	[CCode (cheader_filename = "bluetooth-client.h", type_id = "bluetooth_client_get_type ()")]
	public class Client : GLib.Object {
		[CCode (has_construct_function = false)]
		public Client ();
		public async bool connect_service (string path, bool connect, GLib.Cancellable? cancellable) throws GLib.Error;
		public Gtk.TreeModel get_adapter_model ();
		public Gtk.TreeModel get_device_model ();
		public Gtk.TreeModel get_filter_model (owned Gtk.TreeModelFilterVisibleFunc func);
		public Gtk.TreeModel get_model ();
		[NoAccessorMethod]
		public string default_adapter { owned get; }
		[NoAccessorMethod]
		public bool default_adapter_discoverable { get; set; }
		[NoAccessorMethod]
		public bool default_adapter_discovering { get; set; }
		[NoAccessorMethod]
		public string default_adapter_name { owned get; }
		[NoAccessorMethod]
		public bool default_adapter_powered { get; }
		public signal void device_removed (string device);
	}
	[CCode (cheader_filename = "bluetooth-filter-widget.h", type_id = "bluetooth_filter_widget_get_type ()")]
	public class FilterWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public FilterWidget ();
		public void bind_filter (Bluetooth.Chooser chooser);
		public void set_title (string title);
		[NoAccessorMethod]
		public string device_service_filter { set; }
		[NoAccessorMethod]
		public int device_type_filter { get; set construct; }
		[NoAccessorMethod]
		public bool show_device_category { get; set construct; }
		[NoAccessorMethod]
		public bool show_device_type { get; set construct; }
	}
	[CCode (cheader_filename = "bluetooth-settings-widget.h", type_id = "bluetooth_settings_widget_get_type ()")]
	public class SettingsWidget : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
		[CCode (has_construct_function = false, type = "GtkWidget*")]
		public SettingsWidget ();
		public bool get_default_adapter_powered ();
		public signal void adapter_status_changed ();
		public signal void panel_changed (string panel);
	}
	[CCode (cheader_filename = "bluetooth-enums.h", cprefix = "BLUETOOTH_CATEGORY_", has_type_id = false)]
	public enum Category {
		ALL,
		PAIRED,
		TRUSTED,
		NOT_PAIRED_OR_TRUSTED,
		PAIRED_OR_TRUSTED
	}
	[CCode (cheader_filename = "bluetooth-enums.h", cprefix = "BLUETOOTH_COLUMN_", has_type_id = false)]
	public enum Column {
		PROXY,
		PROPERTIES,
		ADDRESS,
		ALIAS,
		NAME,
		TYPE,
		ICON,
		DEFAULT,
		PAIRED,
		TRUSTED,
		CONNECTED,
		DISCOVERABLE,
		DISCOVERING,
		LEGACYPAIRING,
		POWERED,
		SERVICES,
		UUIDS
	}
	[CCode (cheader_filename = "bluetooth-enums.h", cprefix = "BLUETOOTH_STATUS_", has_type_id = false)]
	public enum Status {
		INVALID,
		DISCONNECTED,
		CONNECTED,
		CONNECTING,
		PLAYING
	}
	[CCode (cheader_filename = "bluetooth-enums.h", cprefix = "BLUETOOTH_TYPE_", has_type_id = false)]
	[Flags]
	public enum Type {
		ANY,
		PHONE,
		MODEM,
		COMPUTER,
		NETWORK,
		HEADSET,
		HEADPHONES,
		OTHER_AUDIO,
		KEYBOARD,
		MOUSE,
		CAMERA,
		PRINTER,
		JOYPAD,
		TABLET,
		VIDEO,
		REMOTE_CONTROL,
		SCANNER,
		DISPLAY,
		WEARABLE,
		TOY;
		public static unowned string to_string (uint type);
	}
	[CCode (cheader_filename = "bluetooth-chooser-combo.h", cname = "BLUETOOTH_CHOOSER_COMBO_FIRST_DEVICE")]
	public const string CHOOSER_COMBO_FIRST_DEVICE;
	[CCode (cheader_filename = "bluetooth-enums.h", cname = "BLUETOOTH_TYPE_AUDIO")]
	public const int TYPE_AUDIO;
	[CCode (cheader_filename = "bluetooth-enums.h", cname = "BLUETOOTH_TYPE_INPUT")]
	public const int TYPE_INPUT;
	[CCode (cheader_filename = "bluetooth-enums.h", cname = "BLUETOOTH_UUID_A2DP_SINK")]
	public const int UUID_A2DP_SINK;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_A2DP_SOURCE")]
	public const int UUID_A2DP_SOURCE;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_AVRCP_CONTROL")]
	public const int UUID_AVRCP_CONTROL;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_AVRCP_TARGET")]
	public const int UUID_AVRCP_TARGET;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_DUN")]
	public const int UUID_DUN;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_FTP")]
	public const int UUID_FTP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_GENERIC_AUDIO")]
	public const int UUID_GENERIC_AUDIO;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_GENERIC_NET")]
	public const int UUID_GENERIC_NET;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_HFP_AG")]
	public const int UUID_HFP_AG;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_HFP_HF")]
	public const int UUID_HFP_HF;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_HID")]
	public const int UUID_HID;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_HSP")]
	public const int UUID_HSP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_HSP_AG")]
	public const int UUID_HSP_AG;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_IRMC")]
	public const int UUID_IRMC;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_OPP")]
	public const int UUID_OPP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_PAN_GN")]
	public const int UUID_PAN_GN;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_PAN_NAP")]
	public const int UUID_PAN_NAP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_PAN_PANU")]
	public const int UUID_PAN_PANU;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_PBAP")]
	public const int UUID_PBAP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_PNP")]
	public const int UUID_PNP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_SAP")]
	public const int UUID_SAP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_SDP")]
	public const int UUID_SDP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_SPP")]
	public const int UUID_SPP;
	[CCode (cheader_filename = "bluetooth-utils.h", cname = "BLUETOOTH_UUID_VDP_SOURCE")]
	public const int UUID_VDP_SOURCE;
	[CCode (cheader_filename = "bluetooth-utils.h")]
	public static Bluetooth.Type class_to_type (uint32 @class);
	[CCode (cheader_filename = "bluetooth-utils.h")]
	public static void send_to_address (string address, string alias);
	[CCode (cheader_filename = "bluetooth-utils.h")]
	public static unowned string uuid_to_string (string uuid);
	[CCode (cheader_filename = "bluetooth-utils.h")]
	public static bool verify_address (string bdaddr);
}
