/* libecalendar-1.2.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "E", gir_namespace = "ECalendar", gir_version = "1.2", lower_case_cprefix = "e_")]
namespace E {
	[CCode (cheader_filename = "libecal/e-cal.h", type_id = "e_cal_get_type ()")]
	public class Cal : GLib.Object {
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Cal (E.Source source, E.CalSourceType type);
		[Deprecated (since = "3.2")]
		public bool discard_alarm (E.CalComponent comp, string auid) throws GLib.Error;
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Cal.from_uri (string uri, E.CalSourceType type);
		[Deprecated (since = "3.2")]
		public bool get_alarm_email_address (string alarm_address) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_alarms_for_object (E.CalComponentId id, long start, long end, E.CalComponentAlarms alarms);
		[Deprecated (since = "3.2")]
		public bool get_cal_address (string cal_address) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public static unowned string get_error_message (E.CalendarStatus status);
		[Deprecated (since = "3.2")]
		public bool get_ldap_attribute (string ldap_attribute) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public E.CalLoadState get_load_state ();
		[Deprecated (since = "3.2")]
		public unowned string get_local_attachment_store ();
		[Deprecated (since = "3.2")]
		public bool get_object_list (string query, out GLib.List<long> objects) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_one_alarm_only ();
		[Deprecated (since = "3.2")]
		public bool get_organizer_must_accept ();
		[Deprecated (since = "3.2")]
		public bool get_organizer_must_attend ();
		[Deprecated (since = "3.2")]
		public bool get_query (string sexp, out E.CalView query) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_recurrences_no_master ();
		[Deprecated (since = "3.2")]
		public bool get_refresh_supported ();
		[Deprecated (since = "3.2")]
		public bool get_save_schedules ();
		[Deprecated (since = "3.2")]
		public E.CalSourceType get_source_type ();
		[Deprecated (since = "3.2")]
		public static bool get_sources (E.SourceList sources, E.CalSourceType type) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_static_capability (string cap);
		[Deprecated (since = "3.2")]
		public unowned string get_uri ();
		[Deprecated (since = "3.2")]
		public bool is_read_only (bool read_only) throws GLib.Error;
		public static void marshal_VOID__ENUM_ENUM (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
		public static void marshal_VOID__STRING_UINT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
		public static void marshal_VOID__UINT_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
		public static unowned string match_tzid (string tzid);
		[Deprecated (since = "3.2")]
		public bool open (bool only_if_exists) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public void open_async (bool only_if_exists);
		[Deprecated (since = "3.2")]
		public bool refresh () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool remove () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool remove_object (string uid) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool set_default () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public static bool set_default_source (E.Source source, E.CalSourceType type) throws GLib.Error;
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Cal.system_calendar ();
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Cal.system_memos ();
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Cal.system_tasks ();
		public static string system_timezone_get_location ();
		public static string util_get_system_timezone_location ();
		public static int util_priority_from_string (string string);
		public static unowned string util_priority_to_string (int priority);
		public virtual signal void backend_died ();
		public virtual signal void backend_error (string message);
		public virtual signal void cal_opened (int status);
		public virtual signal void cal_opened_ex (long error);
	}
	[CCode (cheader_filename = "libecal/e-cal.h", type_id = "e_cal_client_get_type ()")]
	public class CalClient : E.Client {
		[CCode (has_construct_function = false)]
		public CalClient (E.Source source, E.CalClientSourceType source_type) throws GLib.Error;
		public bool add_timezone_finish (GLib.AsyncResult result) throws GLib.Error;
		public bool check_one_alarm_only ();
		public bool check_organizer_must_accept ();
		public bool check_organizer_must_attend ();
		public bool check_recurrences_no_master ();
		public bool check_save_schedules ();
		public bool create_object_finish (GLib.AsyncResult result, out string uid) throws GLib.Error;
		[CCode (has_construct_function = false)]
		public CalClient.@default (E.CalClientSourceType source_type) throws GLib.Error;
		public async bool discard_alarm (string uid, string rid, string auid, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool discard_alarm_sync (string uid, string rid, string auid, GLib.Cancellable? cancellable) throws GLib.Error;
		public static GLib.Error error_create (E.CalClientError code, string custom_msg);
		public static GLib.Quark error_quark ();
		public static unowned string error_to_string (E.CalClientError code);
		[CCode (has_construct_function = false)]
		public CalClient.from_uri (string uri, E.CalClientSourceType source_type) throws GLib.Error;
		public void generate_instances (long start, long end, GLib.Cancellable? cancellable, owned E.CalRecurInstanceFn cb);
		public async void get_attachment_uris (string uid, string rid, GLib.Cancellable? cancellable);
		public async void get_default_object (GLib.Cancellable? cancellable);
		public bool get_free_busy_finish (GLib.AsyncResult result) throws GLib.Error;
		public unowned string get_local_attachment_store ();
		public async void get_object (string uid, string rid, GLib.Cancellable? cancellable);
		public async void get_object_list (string sexp, GLib.Cancellable? cancellable);
		public async void get_object_list_as_comps (string sexp, GLib.Cancellable? cancellable);
		public async void get_objects_for_uid (string uid, GLib.Cancellable? cancellable);
		public E.CalClientSourceType get_source_type ();
		public static bool get_sources (out E.SourceList sources, E.CalClientSourceType source_type) throws GLib.Error;
		public async void get_timezone (string tzid, GLib.Cancellable? cancellable);
		public async bool get_view (string sexp, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool get_view_sync (string sexp, E.CalClientView view, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool modify_object_finish (GLib.AsyncResult result) throws GLib.Error;
		public bool receive_objects_finish (GLib.AsyncResult result) throws GLib.Error;
		public bool remove_object_finish (GLib.AsyncResult result) throws GLib.Error;
		public bool set_default () throws GLib.Error;
		public static bool set_default_source (E.Source source, E.CalClientSourceType source_type) throws GLib.Error;
		[CCode (has_construct_function = false)]
		public CalClient.system (E.CalClientSourceType source_type) throws GLib.Error;
		public signal void free_busy_data (void* object);
	}
	[CCode (cheader_filename = "libecal/e-cal.h", type_id = "e_cal_client_view_get_type ()")]
	public class CalClientView : GLib.Object {
		[CCode (has_construct_function = false)]
		protected CalClientView ();
		public bool is_running ();
		public void start () throws GLib.Error;
		public void stop () throws GLib.Error;
		[NoAccessorMethod]
		public E.CalClient client { owned get; construct; }
		[NoAccessorMethod]
		public void* view { get; construct; }
		public virtual signal void complete (GLib.Error error);
		public signal void objects_added (GLib.SList<long> objects);
		public signal void objects_modified (GLib.SList<long> objects);
		public signal void objects_removed (GLib.SList<E.CalComponentId> objects);
		public virtual signal void progress (uint percent, string message);
	}
	[CCode (cheader_filename = "libecal/e-cal.h", type_id = "e_cal_component_get_type ()")]
	public class CalComponent : GLib.Object {
		[CCode (has_construct_function = false)]
		public CalComponent ();
		public void abort_sequence ();
		public void add_alarm (E.CalComponentAlarm alarm);
		public void commit_sequence ();
		public bool event_dates_match (E.CalComponent comp2);
		public static void free_datetime (E.CalComponentDateTime dt);
		public static void free_geo (void* geo);
		public static void free_icaltimetype (void* t);
		public static void free_id (E.CalComponentId id);
		public static void free_percent (int percent);
		public static void free_priority (int priority);
		public static void free_range (E.CalComponentRange range);
		public static void free_sequence (int sequence);
		[CCode (has_construct_function = false)]
		public CalComponent.from_string (string calobj);
		public static string gen_uid ();
		public string get_as_string ();
		public void get_categories (string categories);
		public void get_classification (E.CalComponentClassification classif);
		public void get_completed (void* t);
		public void get_created (void* t);
		public void get_dtend (E.CalComponentDateTime dt);
		public void get_dtstamp (void* t);
		public void get_dtstart (E.CalComponentDateTime dt);
		public void get_due (E.CalComponentDateTime dt);
		public void get_geo (void* geo);
		public void get_last_modified (void* t);
		public void get_location (string location);
		public int get_num_attachments ();
		public void get_organizer (E.CalComponentOrganizer organizer);
		public void get_percent (int percent);
		public int get_percent_as_int ();
		public void get_priority (int priority);
		public void get_recurid (E.CalComponentRange recur_id);
		public string get_recurid_as_string ();
		public void get_sequence (int sequence);
		public void get_summary (E.CalComponentText summary);
		public void get_transparency (E.CalComponentTransparency transp);
		public void get_uid (string uid);
		public void get_url (string url);
		public E.CalComponentVType get_vtype ();
		public bool has_alarms ();
		public bool has_attachments ();
		public bool has_attendees ();
		public bool has_exceptions ();
		public bool has_exdates ();
		public bool has_exrules ();
		public bool has_organizer ();
		public bool has_rdates ();
		public bool has_recurrences ();
		public bool has_rrules ();
		public bool has_simple_recurrence ();
		public bool is_instance ();
		public void remove_alarm (string auid);
		public void remove_all_alarms ();
		public void rescan ();
		public void set_categories (string categories);
		public void set_classification (E.CalComponentClassification classif);
		public void set_completed (void* t);
		public void set_created (void* t);
		public void set_dtend (E.CalComponentDateTime dt);
		public void set_dtstamp (void* t);
		public void set_dtstart (E.CalComponentDateTime dt);
		public void set_due (E.CalComponentDateTime dt);
		public void set_geo (void* geo);
		public bool set_icalcomponent (long icalcomp);
		public void set_last_modified (void* t);
		public void set_location (string location);
		public void set_new_vtype (E.CalComponentVType type);
		public void set_organizer (E.CalComponentOrganizer organizer);
		public void set_percent (int percent);
		public void set_percent_as_int (int percent);
		public void set_priority (int priority);
		public void set_recurid (E.CalComponentRange recur_id);
		public void set_sequence (int sequence);
		public void set_summary (E.CalComponentText summary);
		public void set_transparency (E.CalComponentTransparency transp);
		public void set_uid (string uid);
		public void set_url (string url);
		public void strip_errors ();
	}
	[CCode (cheader_filename = "libecal/e-cal.h")]
	[Compact]
	public class CalComponentAlarm {
		public void free ();
		public void get_action (E.CalComponentAlarmAction action);
		public void get_description (E.CalComponentText description);
		public void get_repeat (E.CalComponentAlarmRepeat repeat);
		public void get_trigger (E.CalComponentAlarmTrigger trigger);
		public unowned string get_uid ();
		public bool has_attendees ();
		public void set_action (E.CalComponentAlarmAction action);
		public void set_description (E.CalComponentText description);
		public void set_repeat (E.CalComponentAlarmRepeat repeat);
		public void set_trigger (E.CalComponentAlarmTrigger trigger);
	}
	[CCode (cheader_filename = "libecal/e-cal.h", type_id = "e_cal_view_get_type ()")]
	public class CalView : GLib.Object {
		[CCode (has_construct_function = false)]
		protected CalView ();
		[Deprecated (since = "3.2")]
		public void start ();
		[Deprecated (since = "3.2")]
		public void stop ();
		[NoAccessorMethod]
		public E.Cal client { owned get; construct; }
		[NoAccessorMethod]
		public void* view { get; construct; }
		public signal void objects_added (GLib.List<long> objects);
		public signal void objects_modified (GLib.List<long> objects);
		public signal void objects_removed (GLib.List<E.CalComponentId> objects);
		public virtual signal void view_complete (uint status, string error_msg);
		public virtual signal void view_done (int status);
		public virtual signal void view_progress (string message, uint percent);
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalChange {
		public weak E.CalComponent comp;
		public E.CalChangeType type;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentAlarmInstance {
		public weak string auid;
		public long trigger;
		public long occur_start;
		public long occur_end;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentAlarmRepeat {
		public int repetitions;
		public void* duration;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentAlarmTrigger {
		public E.CalComponentAlarmTriggerType type;
		[CCode (cname = "u.rel_duration")]
		public void* u_rel_duration;
		[CCode (cname = "u.abs_time")]
		public void* u_abs_time;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentAlarms {
		public weak E.CalComponent comp;
		public weak GLib.SList<void*> alarms;
		public void free ();
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentAttendee {
		public weak string value;
		public weak string member;
		public bool rsvp;
		public weak string delto;
		public weak string delfrom;
		public weak string sentby;
		public weak string cn;
		public weak string language;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentDateTime {
		public void* value;
		public weak string tzid;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentId {
		public weak string uid;
		public weak string rid;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentOrganizer {
		public weak string value;
		public weak string sentby;
		public weak string cn;
		public weak string language;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentPeriod {
		public E.CalComponentPeriodType type;
		public void* start;
		[CCode (cname = "u.end")]
		public void* u_end;
		[CCode (cname = "u.duration")]
		public void* u_duration;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentRange {
		public E.CalComponentRangeType type;
		public E.CalComponentDateTime datetime;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", has_type_id = false)]
	public struct CalComponentText {
		public weak string value;
		public weak string altrep;
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_CHANGE_")]
	[Flags]
	public enum CalChangeType {
		ADDED,
		MODIFIED,
		DELETED
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_CLIENT_ERROR_")]
	public enum CalClientError {
		NO_SUCH_CALENDAR,
		OBJECT_NOT_FOUND,
		INVALID_OBJECT,
		UNKNOWN_USER,
		OBJECT_ID_ALREADY_EXISTS,
		INVALID_RANGE
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cname = "ECalClientSourceTypeEnum", cprefix = "")]
	[GIR (name = "CalClientSourceTypeEnum")]
	public enum CalClientSourceType {
		[CCode (cname = "Events")]
		EVENTS,
		[CCode (cname = "Tasks")]
		TASKS,
		[CCode (cname = "Memos")]
		MEMOS,
		[CCode (cname = "Invalid")]
		INVALID
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_ALARM_")]
	public enum CalComponentAlarmAction {
		NONE,
		AUDIO,
		DISPLAY,
		EMAIL,
		PROCEDURE,
		UNKNOWN
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_ALARM_TRIGGER_")]
	public enum CalComponentAlarmTriggerType {
		NONE,
		RELATIVE_START,
		RELATIVE_END,
		ABSOLUTE
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_CLASS_")]
	public enum CalComponentClassification {
		NONE,
		PUBLIC,
		PRIVATE,
		CONFIDENTIAL,
		UNKNOWN
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_FIELD_")]
	public enum CalComponentField {
		CATEGORIES,
		CLASSIFICATION,
		COMPLETED,
		DTEND,
		DTSTART,
		DUE,
		GEO,
		PERCENT,
		PRIORITY,
		SUMMARY,
		TRANSPARENCY,
		URL,
		HAS_ALARMS,
		ICON,
		COMPLETE,
		RECURRING,
		OVERDUE,
		COLOR,
		STATUS,
		COMPONENT,
		LOCATION,
		NUM_FIELDS
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_PERIOD_")]
	public enum CalComponentPeriodType {
		DATETIME,
		DURATION
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_RANGE_")]
	public enum CalComponentRangeType {
		SINGLE,
		THISPRIOR,
		THISFUTURE
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_TRANSP_")]
	public enum CalComponentTransparency {
		NONE,
		TRANSPARENT,
		OPAQUE,
		UNKNOWN
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_COMPONENT_")]
	public enum CalComponentVType {
		NO_TYPE,
		EVENT,
		TODO,
		JOURNAL,
		FREEBUSY,
		TIMEZONE
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_LOAD_")]
	public enum CalLoadState {
		NOT_LOADED,
		AUTHENTICATING,
		LOADING,
		LOADED
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cname = "ECalSetModeStatusEnum", cprefix = "")]
	[GIR (name = "CalSetModeStatusEnum")]
	public enum CalSetModeStatus {
		[CCode (cname = "ECalSetModeSuccess")]
		SUCCESS,
		[CCode (cname = "ECalSetModeError")]
		ERROR,
		[CCode (cname = "ECalSetModeNotSupported")]
		UNSUPPORTED
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CAL_SOURCE_TYPE_")]
	public enum CalSourceType {
		EVENT,
		TODO,
		JOURNAL,
		LAST
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "E_CALENDAR_STATUS_")]
	public enum CalendarStatus {
		OK,
		INVALID_ARG,
		BUSY,
		REPOSITORY_OFFLINE,
		NO_SUCH_CALENDAR,
		OBJECT_NOT_FOUND,
		INVALID_OBJECT,
		URI_NOT_LOADED,
		URI_ALREADY_LOADED,
		PERMISSION_DENIED,
		UNKNOWN_USER,
		OBJECT_ID_ALREADY_EXISTS,
		PROTOCOL_NOT_SUPPORTED,
		CANCELLED,
		COULD_NOT_CANCEL,
		AUTHENTICATION_FAILED,
		AUTHENTICATION_REQUIRED,
		DBUS_EXCEPTION,
		OTHER_ERROR,
		INVALID_SERVER_VERSION,
		NOT_SUPPORTED
	}
	[CCode (cheader_filename = "libecal/e-cal.h", cprefix = "")]
	[Flags]
	public enum DataCalMode {
		[CCode (cname = "Local")]
		OCAL,
		[CCode (cname = "Remote")]
		EMOTE,
		[CCode (cname = "AnyMode")]
		NYMODE
	}
	[CCode (cheader_filename = "libecal/e-cal.h", instance_pos = 3.9)]
	public delegate string CalAuthFunc (E.Cal ecal, string prompt, string key);
	[CCode (cheader_filename = "libecal/e-cal.h", has_target = false)]
	public delegate bool CalRecurInstanceFn (E.CalComponent comp, long instance_start, long instance_end, void* data);
	[CCode (cheader_filename = "libecal/e-cal.h")]
	public static GLib.Quark calendar_error_quark ();
}
