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

[CCode (cprefix = "MessagingMenu", gir_namespace = "MessagingMenu", gir_version = "1.0", lower_case_cprefix = "messaging_menu_")]
namespace MessagingMenu {
	[CCode (cheader_filename = "messaging-menu.h", type_id = "messaging_menu_app_get_type ()")]
	public class App : GLib.Object {
		[CCode (has_construct_function = false)]
		public App (string desktop_id);
		public void append_message (MessagingMenu.Message msg, string? source_id, bool notify);
		public void append_source (string id, GLib.Icon? icon, string label);
		public void append_source_with_count (string id, GLib.Icon? icon, string label, uint count);
		public void append_source_with_string (string id, GLib.Icon? icon, string label, string str);
		public void append_source_with_time (string id, GLib.Icon? icon, string label, int64 time);
		public void draw_attention (string source_id);
		public unowned MessagingMenu.Message? get_message (string id);
		public bool has_source (string source_id);
		public void insert_source (int position, string id, GLib.Icon icon, string label);
		public void insert_source_with_count (int position, string id, GLib.Icon? icon, string label, uint count);
		public void insert_source_with_string (int position, string id, GLib.Icon? icon, string label, string str);
		public void insert_source_with_time (int position, string id, GLib.Icon? icon, string label, int64 time);
		public void register ();
		public void remove_attention (string source_id);
		public void remove_message (MessagingMenu.Message msg);
		public void remove_message_by_id (string id);
		public void remove_source (string source_id);
		public void set_source_count (string source_id, uint count);
		public void set_source_icon (string source_id, GLib.Icon? icon);
		public void set_source_label (string source_id, string label);
		public void set_source_string (string source_id, string str);
		public void set_source_time (string source_id, int64 time);
		public void set_status (MessagingMenu.Status status);
		public void unregister ();
		[NoAccessorMethod]
		public string desktop_id { construct; }
		public signal void activate_source (string source_id);
		public signal void status_changed (int status);
	}
	[CCode (cheader_filename = "messaging-menu.h")]
	public class AppClass : GLib.ObjectClass {
		[CCode (has_construct_function = false)]
		protected AppClass ();
	}
	[CCode (cheader_filename = "messaging-menu.h", type_id = "messaging_menu_message_get_type ()")]
	public class Message : GLib.Object {
		[CCode (has_construct_function = false)]
		public Message (string id, owned GLib.Icon? icon, string title, string? subtitle, string? body, int64 time);
		public void add_action (string id, string? label, GLib.VariantType? parameter_type, GLib.Variant? parameter_hint);
		public unowned string get_body ();
		public bool get_draws_attention ();
		public unowned GLib.Icon get_icon ();
		public unowned string get_id ();
		public unowned string get_subtitle ();
		public int64 get_time ();
		public unowned string get_title ();
		public void set_draws_attention (bool draws_attention);
		public string body { get; construct; }
		public bool draws_attention { get; set; }
		public GLib.Icon icon { get; construct; }
		public string id { get; construct; }
		public string subtitle { get; construct; }
		public int64 time { get; construct; }
		public string title { get; construct; }
		public signal void activate (string? action, GLib.Variant? parameter);
	}
	[CCode (cheader_filename = "messaging-menu.h", cprefix = "MESSAGING_MENU_STATUS_", has_type_id = false)]
	public enum Status {
		AVAILABLE,
		AWAY,
		BUSY,
		INVISIBLE,
		OFFLINE
	}
}
