/* libfeedback-0.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Lfb", gir_namespace = "Lfb", gir_version = "0.0", lower_case_cprefix = "lfb_")]
namespace Lfb {
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_event_get_type ()")]
	public class Event : GLib.Object {
		[CCode (has_construct_function = false)]
		public Event (string event);
		public bool end_feedback () throws GLib.Error;
		public async bool end_feedback_async (GLib.Cancellable? cancellable) throws GLib.Error;
		public unowned string get_app_id ();
		public Lfb.EventEndReason get_end_reason ();
		public unowned string get_event ();
		public unowned string get_feedback_profile ();
		public bool get_important ();
		public unowned string get_sound_file ();
		public Lfb.EventState get_state ();
		public int get_timeout ();
		public void set_app_id (string app_id);
		public void set_feedback_profile (string profile);
		public void set_important (bool important);
		public void set_sound_file (string sound_file);
		public void set_timeout (int timeout);
		public bool trigger_feedback () throws GLib.Error;
		public async bool trigger_feedback_async (GLib.Cancellable? cancellable) throws GLib.Error;
		public string app_id { get; set; }
		public Lfb.EventEndReason end_reason { get; }
		public string event { get; construct; }
		public string feedback_profile { get; set; }
		public bool important { get; set; }
		public string sound_file { get; set; }
		public Lfb.EventState state { get; }
		public int timeout { get; set; }
		public signal void feedback_ended ();
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_haptic_proxy_get_type ()")]
	public class GdbusFeedbackHapticProxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, Lfb.GdbusFeedbackHaptic {
		[CCode (cname = "lfb_gdbus_feedback_haptic_proxy_new", has_construct_function = false)]
		public async GdbusFeedbackHapticProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
		[CCode (cname = "lfb_gdbus_feedback_haptic_proxy_new_for_bus", has_construct_function = false)]
		public async GdbusFeedbackHapticProxy.for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
		[CCode (has_construct_function = false, type = "LfbGdbusFeedbackHaptic*")]
		public GdbusFeedbackHapticProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[CCode (has_construct_function = false, type = "LfbGdbusFeedbackHaptic*")]
		public GdbusFeedbackHapticProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_haptic_skeleton_get_type ()")]
	public class GdbusFeedbackHapticSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface, Lfb.GdbusFeedbackHaptic {
		[CCode (has_construct_function = false, type = "LfbGdbusFeedbackHaptic*")]
		public GdbusFeedbackHapticSkeleton ();
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_proxy_get_type ()")]
	public class GdbusFeedbackProxy : GLib.DBusProxy, GLib.AsyncInitable, GLib.DBusInterface, GLib.Initable, Lfb.GdbusFeedback {
		[CCode (cname = "lfb_gdbus_feedback_proxy_new", has_construct_function = false)]
		public async GdbusFeedbackProxy (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
		[CCode (cname = "lfb_gdbus_feedback_proxy_new_for_bus", has_construct_function = false)]
		public async GdbusFeedbackProxy.for_bus (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable) throws GLib.Error;
		[CCode (has_construct_function = false, type = "LfbGdbusFeedback*")]
		public GdbusFeedbackProxy.for_bus_sync (GLib.BusType bus_type, GLib.DBusProxyFlags flags, string name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[CCode (has_construct_function = false, type = "LfbGdbusFeedback*")]
		public GdbusFeedbackProxy.sync (GLib.DBusConnection connection, GLib.DBusProxyFlags flags, string? name, string object_path, GLib.Cancellable? cancellable = null) throws GLib.Error;
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_skeleton_get_type ()")]
	public class GdbusFeedbackSkeleton : GLib.DBusInterfaceSkeleton, GLib.DBusInterface, Lfb.GdbusFeedback {
		[CCode (has_construct_function = false, type = "LfbGdbusFeedback*")]
		public GdbusFeedbackSkeleton ();
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_get_type ()")]
	public interface GdbusFeedback : GLib.Object {
		public async bool call_end_feedback (uint arg_id, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool call_end_feedback_sync (uint arg_id, GLib.Cancellable? cancellable = null) throws GLib.Error;
		[CCode (async_result_pos = 2.1)]
		public async bool call_trigger_feedback (string arg_app_id, string arg_event, GLib.Variant arg_hints, int arg_timeout, GLib.Cancellable? cancellable, out uint out_id) throws GLib.Error;
		public bool call_trigger_feedback_sync (string arg_app_id, string arg_event, GLib.Variant arg_hints, int arg_timeout, out uint out_id, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public void complete_end_feedback (owned GLib.DBusMethodInvocation invocation);
		public void complete_trigger_feedback (owned GLib.DBusMethodInvocation invocation, uint id);
		public void emit_feedback_ended (uint arg_id, uint arg_reason);
		public static unowned GLib.DBusInterfaceInfo interface_info ();
		public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
		[NoAccessorMethod]
		public abstract string profile { owned get; set; }
		public virtual signal void feedback_ended (uint arg_id, uint arg_reason);
		public virtual signal bool handle_end_feedback (GLib.DBusMethodInvocation invocation, uint arg_id);
		public virtual signal bool handle_trigger_feedback (GLib.DBusMethodInvocation invocation, string arg_app_id, string arg_event, GLib.Variant arg_hints, int arg_timeout);
	}
	[CCode (cheader_filename = "libfeedback.h", type_id = "lfb_gdbus_feedback_haptic_get_type ()")]
	public interface GdbusFeedbackHaptic : GLib.Object {
		[CCode (async_result_pos = 2.1)]
		public async bool call_vibrate (string arg_app_id, GLib.Variant arg_pattern, GLib.Cancellable? cancellable, out bool out_success) throws GLib.Error;
		public bool call_vibrate_sync (string arg_app_id, GLib.Variant arg_pattern, out bool out_success, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public void complete_vibrate (owned GLib.DBusMethodInvocation invocation, bool success);
		public static unowned GLib.DBusInterfaceInfo interface_info ();
		public static uint override_properties (GLib.ObjectClass klass, uint property_id_begin);
		public virtual signal bool handle_vibrate (GLib.DBusMethodInvocation invocation, string arg_app_id, GLib.Variant arg_pattern);
	}
	[CCode (cheader_filename = "libfeedback.h", cprefix = "LFB_EVENT_END_REASON_", type_id = "lfb_event_end_reason_get_type ()")]
	public enum EventEndReason {
		NOT_FOUND,
		NATURAL,
		EXPIRED,
		EXPLICIT
	}
	[CCode (cheader_filename = "libfeedback.h", cprefix = "LFB_EVENT_STATE_", type_id = "lfb_event_state_get_type ()")]
	public enum EventState {
		ERRORED,
		NONE,
		RUNNING,
		ENDED
	}
	[CCode (cheader_filename = "libfeedback.h")]
	[Version (replacement = "GdbusFeedbackHaptic.interface_info")]
	public static unowned GLib.DBusInterfaceInfo gdbus_feedback_haptic_interface_info ();
	[CCode (cheader_filename = "libfeedback.h")]
	[Version (replacement = "GdbusFeedbackHaptic.override_properties")]
	public static uint gdbus_feedback_haptic_override_properties (GLib.ObjectClass klass, uint property_id_begin);
	[CCode (cheader_filename = "libfeedback.h")]
	[Version (replacement = "GdbusFeedback.interface_info")]
	public static unowned GLib.DBusInterfaceInfo gdbus_feedback_interface_info ();
	[CCode (cheader_filename = "libfeedback.h")]
	[Version (replacement = "GdbusFeedback.override_properties")]
	public static uint gdbus_feedback_override_properties (GLib.ObjectClass klass, uint property_id_begin);
	[CCode (cheader_filename = "libfeedback.h")]
	public static unowned string get_app_id ();
	[CCode (cheader_filename = "libfeedback.h")]
	public static unowned string get_feedback_profile ();
	[CCode (cheader_filename = "libfeedback.h")]
	public static unowned Lfb.GdbusFeedback get_proxy ();
	[CCode (cheader_filename = "libfeedback.h")]
	public static bool init (string app_id) throws GLib.Error;
	[CCode (cheader_filename = "libfeedback.h")]
	public static bool is_initted ();
	[CCode (cheader_filename = "libfeedback.h")]
	public static void set_app_id (string app_id);
	[CCode (cheader_filename = "libfeedback.h")]
	public static void set_feedback_profile (string profile);
	[CCode (cheader_filename = "libfeedback.h")]
	public static void uninit ();
}
