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

[CCode (cprefix = "E", gir_namespace = "EBook", gir_version = "1.2", lower_case_cprefix = "e_")]
namespace E {
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_book_get_type ()")]
	public class Book : GLib.Object {
		[CCode (has_construct_function = false)]
		[Deprecated (since = "3.2")]
		public Book (E.Source source) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool add_contact (E.Contact contact) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool add_contact_async (E.Contact contact, E.BookIdAsyncCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_add_contact (E.Contact contact, E.BookIdCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_commit_contact (E.Contact contact, E.BookCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_get_book_view (E.BookQuery query, GLib.List<string> requested_fields, int max_results, E.BookBookViewCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_get_contact (string id, E.BookContactCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_get_required_fields (E.BookEListCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_get_supported_auth_methods (E.BookEListCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_get_supported_fields (E.BookEListCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_open (bool only_if_exists, E.BookCallback open_response);
		[Deprecated (since = "3.0")]
		public bool async_remove (E.BookCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_remove_contact (E.Contact contact, E.BookCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_remove_contact_by_id (string id, E.BookCallback cb, void* closure);
		[Deprecated (since = "3.0")]
		public bool async_remove_contacts (GLib.List<string> ids, E.BookCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool cancel () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool cancel_async_op () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool check_static_capability (string cap);
		[Deprecated (since = "3.2")]
		public bool commit_contact (E.Contact contact) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool commit_contact_async (E.Contact contact, E.BookAsyncCallback cb, void* closure);
		public static GLib.Quark error_quark ();
		[Deprecated (since = "3.2")]
		public static void free_change_list (GLib.List<E.BookChange> change_list);
		[Deprecated (since = "3.2")]
		public bool get_book_view (E.BookQuery query, GLib.List<string>? requested_fields, int max_results, out E.BookView book_view) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_book_view_async (E.BookQuery query, GLib.List<string>? requested_fields, int max_results, E.BookBookViewAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool get_contact (string id, out E.Contact contact) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_contact_async (string id, E.BookContactAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool get_contacts (E.BookQuery query, GLib.List<string> contacts) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_required_fields (out GLib.List<string> fields) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_required_fields_async (E.BookEListAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public static bool get_self (E.SourceRegistry registry, out E.Contact contact, out E.Book book) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public unowned E.Source get_source ();
		[Deprecated (since = "3.2")]
		public unowned string get_static_capabilities () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_supported_auth_methods (out GLib.List<string> auth_methods) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_supported_auth_methods_async (E.BookEListAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool get_supported_fields (out GLib.List<string> fields) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool get_supported_fields_async (E.BookEListAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool is_online ();
		[Deprecated (since = "3.2")]
		public bool is_opened ();
		[Deprecated (since = "3.2")]
		public static bool is_self (E.Contact contact);
		[Deprecated (since = "3.2")]
		public bool is_writable ();
		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);
		[Deprecated (since = "3.2")]
		public bool open (bool only_if_exists) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool open_async (bool only_if_exists, E.BookAsyncCallback open_response, void* closure);
		[Deprecated (since = "3.2")]
		public bool remove () throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool remove_async (E.BookAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool remove_contact (string id) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool remove_contact_async (E.Contact contact, E.BookAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool remove_contact_by_id_async (string id, E.BookAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool remove_contacts (GLib.List<string> ids) throws GLib.Error;
		[Deprecated (since = "3.2")]
		public bool remove_contacts_async (GLib.List<string> ids, E.BookAsyncCallback cb, void* closure);
		[Deprecated (since = "3.2")]
		public bool set_self (E.Contact contact) throws GLib.Error;
		public virtual signal void backend_died ();
		public virtual signal void connection_status (bool connected);
		public virtual signal void writable_status (bool writable);
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_book_client_get_type ()")]
	public class BookClient : E.Client {
		[CCode (has_construct_function = false)]
		public BookClient (E.Source source) throws GLib.Error;
		public async bool add_contact (E.Contact contact, GLib.Cancellable? cancellable, out string added_uid) throws GLib.Error;
		public bool add_contact_sync (E.Contact contact, out string added_uid, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool add_contacts (GLib.SList<E.Contact> contacts, GLib.Cancellable? cancellable, out GLib.SList<string> added_uids) throws GLib.Error;
		public bool add_contacts_sync (GLib.SList<E.Contact> contacts, out GLib.SList<string> added_uids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public static GLib.Error error_create (E.BookClientError code, string custom_msg);
		public static GLib.Quark error_quark ();
		public static unowned string error_to_string (E.BookClientError code);
		public async bool get_contact (string uid, GLib.Cancellable? cancellable, out E.Contact contact) throws GLib.Error;
		public bool get_contact_sync (string uid, out E.Contact contact, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool get_contacts (string sexp, GLib.Cancellable? cancellable, out GLib.SList<E.Contact> contacts) throws GLib.Error;
		public bool get_contacts_sync (string sexp, out GLib.SList<E.Contact> contacts, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool get_contacts_uids (string sexp, GLib.Cancellable? cancellable, out GLib.SList<string> contacts_uids) throws GLib.Error;
		public bool get_contacts_uids_sync (string sexp, out GLib.SList<string> contacts_uids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public static bool get_self (E.SourceRegistry registry, out E.Contact contact, out E.BookClient client) throws GLib.Error;
		public async bool get_view (string sexp, GLib.Cancellable? cancellable, out E.BookClientView view) throws GLib.Error;
		public bool get_view_sync (string sexp, out E.BookClientView view, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public static bool is_self (E.Contact contact);
		public async bool modify_contact (E.Contact contact, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool modify_contact_sync (E.Contact contact, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool modify_contacts (GLib.SList<E.Contact> contacts, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool modify_contacts_sync (GLib.SList<E.Contact> contacts, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool remove_contact (E.Contact contact, GLib.Cancellable? cancellable) throws GLib.Error;
		public async bool remove_contact_by_uid (string uid, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool remove_contact_by_uid_sync (string uid, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool remove_contact_sync (E.Contact contact, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public async bool remove_contacts (GLib.SList<string> uids, GLib.Cancellable? cancellable) throws GLib.Error;
		public bool remove_contacts_sync (GLib.SList<string> uids, GLib.Cancellable? cancellable = null) throws GLib.Error;
		public bool set_self (E.Contact contact) throws GLib.Error;
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_book_client_view_get_type ()")]
	public class BookClientView : GLib.Object {
		[CCode (has_construct_function = false)]
		protected BookClientView ();
		public void* get_client ();
		public bool is_running ();
		public void set_fields_of_interest (GLib.SList<string> fields_of_interest) throws GLib.Error;
		public void set_flags (E.BookClientViewFlags flags) throws GLib.Error;
		public void start () throws GLib.Error;
		public void stop () throws GLib.Error;
		public virtual signal void complete (GLib.Error error);
		public signal void objects_added (GLib.List<void*> object);
		public signal void objects_modified (GLib.List<void*> object);
		public signal void objects_removed (GLib.List<void*> object);
		public virtual signal void progress (uint percent, string message);
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_book_query_get_type ()")]
	[Compact]
	public class BookQuery {
		public static E.BookQuery and (int nqs, E.BookQuery qs, bool unref);
		public static E.BookQuery any_field_contains (string value);
		public E.BookQuery copy ();
		public static E.BookQuery field_exists (E.ContactField field);
		public static E.BookQuery field_test (E.ContactField field, E.BookQueryTest test, string value);
		public static E.BookQuery from_string (string query_string);
		public E.BookQuery not (bool unref);
		public static E.BookQuery or (int nqs, E.BookQuery qs, bool unref);
		public E.BookQuery @ref ();
		public string to_string ();
		public void unref ();
		public static E.BookQuery vcard_field_exists (string field);
		public static E.BookQuery vcard_field_test (string field, E.BookQueryTest test, string value);
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_book_view_get_type ()")]
	public class BookView : GLib.Object {
		[CCode (has_construct_function = false)]
		protected BookView ();
		public void* get_book ();
		public void start ();
		public void stop ();
		public signal void contacts_added (GLib.List<void*> object);
		public signal void contacts_changed (GLib.List<void*> object);
		public signal void contacts_removed (GLib.List<void*> object);
		public virtual signal void sequence_complete (uint status);
		public virtual signal void status_message (string message);
		public virtual signal void view_complete (uint status, string error_msg);
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_contact_get_type ()")]
	public class Contact : E.VCard {
		[CCode (has_construct_function = false)]
		public Contact ();
		public E.Contact duplicate ();
		public static E.ContactField field_id (string field_name);
		public static E.ContactField field_id_from_vcard (string vcard_field);
		public static unowned string field_name (E.ContactField field_id);
		[CCode (has_construct_function = false)]
		public Contact.from_vcard (string vcard);
		[CCode (has_construct_function = false)]
		public Contact.from_vcard_with_uid (string vcard, string uid);
		[CCode (simple_generics = true)]
		public T @get<T> (E.ContactField field_id);
		public GLib.List<E.VCardAttribute> get_attributes (E.ContactField field_id);
		[CCode (simple_generics = true)]
		public unowned T get_const<T> (E.ContactField field_id);
		public bool inline_local_photos () throws GLib.Error;
		public static unowned string pretty_name (E.ContactField field_id);
		[CCode (simple_generics = true)]
		public void @set<T> (E.ContactField field_id, T value);
		public void set_attributes (E.ContactField field_id, GLib.List<E.VCardAttribute> attributes);
		public static unowned string vcard_attribute (E.ContactField field_id);
		[NoAccessorMethod]
		public string Rev { owned get; set; }
		[NoAccessorMethod]
		public void* address { get; set; }
		[NoAccessorMethod]
		public E.ContactAddress address_home { owned get; set; }
		[NoAccessorMethod]
		public string address_label_home { owned get; set; }
		[NoAccessorMethod]
		public string address_label_other { owned get; set; }
		[NoAccessorMethod]
		public string address_label_work { owned get; set; }
		[NoAccessorMethod]
		public E.ContactAddress address_other { owned get; set; }
		[NoAccessorMethod]
		public E.ContactAddress address_work { owned get; set; }
		[NoAccessorMethod]
		public E.ContactDate anniversary { owned get; set; }
		[NoAccessorMethod]
		public string assistant { owned get; set; }
		[NoAccessorMethod]
		public string assistant_phone { owned get; set; }
		[NoAccessorMethod]
		public E.ContactDate birth_date { owned get; set; }
		[NoAccessorMethod]
		public string blog_url { owned get; set; }
		[NoAccessorMethod]
		public string book_uid { owned get; set; }
		[NoAccessorMethod]
		public string business_fax { owned get; set; }
		[NoAccessorMethod]
		public string business_phone { owned get; set; }
		[NoAccessorMethod]
		public string business_phone_2 { owned get; set; }
		[NoAccessorMethod]
		public string callback_phone { owned get; set; }
		[NoAccessorMethod]
		public string caluri { owned get; set; }
		[NoAccessorMethod]
		public string car_phone { owned get; set; }
		[NoAccessorMethod]
		public string categories { owned get; set; }
		[NoAccessorMethod]
		public void* category_list { get; set; }
		[NoAccessorMethod]
		public string company_phone { owned get; set; }
		[NoAccessorMethod]
		public void* email { get; set; }
		[NoAccessorMethod]
		public string email_1 { owned get; set; }
		[NoAccessorMethod]
		public string email_2 { owned get; set; }
		[NoAccessorMethod]
		public string email_3 { owned get; set; }
		[NoAccessorMethod]
		public string email_4 { owned get; set; }
		[NoAccessorMethod]
		public string family_name { owned get; set; }
		[NoAccessorMethod]
		public string fburl { owned get; set; }
		[NoAccessorMethod]
		public string file_as { owned get; set; }
		[NoAccessorMethod]
		public string full_name { owned get; set; }
		[NoAccessorMethod]
		public E.ContactGeo geo { owned get; set; }
		[NoAccessorMethod]
		public string given_name { owned get; set; }
		[NoAccessorMethod]
		public string home_fax { owned get; set; }
		[NoAccessorMethod]
		public string home_phone { owned get; set; }
		[NoAccessorMethod]
		public string home_phone_2 { owned get; set; }
		[NoAccessorMethod]
		public string homepage_url { owned get; set; }
		[NoAccessorMethod]
		public string icscalendar { owned get; set; }
		[NoAccessorMethod]
		public string id { owned get; set; }
		[NoAccessorMethod]
		public void* im_aim { get; set; }
		[NoAccessorMethod]
		public string im_aim_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_aim_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_aim_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_aim_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_aim_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_aim_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_gadugadu { get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_gadugadu_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_google_talk { get; set; }
		[NoAccessorMethod]
		public string im_google_talk_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_google_talk_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_google_talk_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_google_talk_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_google_talk_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_google_talk_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_groupwise { get; set; }
		[NoAccessorMethod]
		public string im_groupwise_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_groupwise_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_groupwise_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_groupwise_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_groupwise_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_groupwise_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_icq { get; set; }
		[NoAccessorMethod]
		public string im_icq_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_icq_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_icq_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_icq_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_icq_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_icq_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_jabber { get; set; }
		[NoAccessorMethod]
		public string im_jabber_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_jabber_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_jabber_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_jabber_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_jabber_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_jabber_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_msn { get; set; }
		[NoAccessorMethod]
		public string im_msn_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_msn_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_msn_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_msn_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_msn_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_msn_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_skype { get; set; }
		[NoAccessorMethod]
		public string im_skype_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_skype_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_skype_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_skype_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_skype_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_skype_work_3 { owned get; set; }
		[NoAccessorMethod]
		public void* im_twitter { get; set; }
		[NoAccessorMethod]
		public void* im_yahoo { get; set; }
		[NoAccessorMethod]
		public string im_yahoo_home_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_yahoo_home_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_yahoo_home_3 { owned get; set; }
		[NoAccessorMethod]
		public string im_yahoo_work_1 { owned get; set; }
		[NoAccessorMethod]
		public string im_yahoo_work_2 { owned get; set; }
		[NoAccessorMethod]
		public string im_yahoo_work_3 { owned get; set; }
		[NoAccessorMethod]
		public string isdn_phone { owned get; set; }
		[NoAccessorMethod]
		public bool list { get; set; }
		[NoAccessorMethod]
		public bool list_show_addresses { get; set; }
		[NoAccessorMethod]
		public E.ContactPhoto logo { owned get; set; }
		[NoAccessorMethod]
		public string mailer { owned get; set; }
		[NoAccessorMethod]
		public string manager { owned get; set; }
		[NoAccessorMethod]
		public string mobile_phone { owned get; set; }
		[NoAccessorMethod]
		public E.ContactName name { owned get; set; }
		[NoAccessorMethod]
		public string name_or_org { owned get; }
		[NoAccessorMethod]
		public string nickname { owned get; set; }
		[NoAccessorMethod]
		public string note { owned get; set; }
		[NoAccessorMethod]
		public string office { owned get; set; }
		[NoAccessorMethod]
		public string org { owned get; set; }
		[NoAccessorMethod]
		public string org_unit { owned get; set; }
		[NoAccessorMethod]
		public string other_fax { owned get; set; }
		[NoAccessorMethod]
		public string other_phone { owned get; set; }
		[NoAccessorMethod]
		public string pager { owned get; set; }
		[NoAccessorMethod]
		public void* phone { get; set; }
		[NoAccessorMethod]
		public E.ContactPhoto photo { owned get; set; }
		[NoAccessorMethod]
		public string primary_phone { owned get; set; }
		[NoAccessorMethod]
		public string radio { owned get; set; }
		[NoAccessorMethod]
		public string role { owned get; set; }
		[NoAccessorMethod]
		public void* sip { get; set; }
		[NoAccessorMethod]
		public string spouse { owned get; set; }
		[NoAccessorMethod]
		public string telex { owned get; set; }
		[NoAccessorMethod]
		public string title { owned get; set; }
		[NoAccessorMethod]
		public string tty { owned get; set; }
		[NoAccessorMethod]
		public string video_url { owned get; set; }
		[NoAccessorMethod]
		public bool wants_html { get; set; }
		[NoAccessorMethod]
		public E.ContactCert x509Cert { owned get; set; }
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_address_get_type ()")]
	[Compact]
	public class ContactAddress {
		public string address_format;
		public string code;
		public string country;
		public string ext;
		public string locality;
		public string po;
		public string region;
		public string street;
		[CCode (has_construct_function = false)]
		public ContactAddress ();
		public void free ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_cert_get_type ()")]
	[Compact]
	public class ContactCert {
		public weak string data;
		public size_t length;
		public void free ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_date_get_type ()")]
	[Compact]
	public class ContactDate {
		public uint day;
		public uint month;
		public uint year;
		[CCode (has_construct_function = false)]
		public ContactDate ();
		public bool equal (E.ContactDate dt2);
		public void free ();
		public static E.ContactDate from_string (string str);
		public string to_string ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_geo_get_type ()")]
	[Compact]
	public class ContactGeo {
		public double latitude;
		public double longitude;
		public void free ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_name_get_type ()")]
	[Compact]
	public class ContactName {
		public string additional;
		public string family;
		public string given;
		public string prefixes;
		public string suffixes;
		[CCode (has_construct_function = false)]
		public ContactName ();
		public E.ContactName copy ();
		public void free ();
		public static E.ContactName from_string (string name_str);
		public string to_string ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_contact_photo_get_type ()")]
	[Compact]
	public class ContactPhoto {
		[CCode (cname = "data.inlined.data")]
		public uint8 data_inlined_data;
		[CCode (cname = "data.inlined.length")]
		public size_t data_inlined_length;
		[CCode (cname = "data.inlined.mime_type")]
		public weak string data_inlined_mime_type;
		[CCode (cname = "data.uri")]
		public weak string data_uri;
		public E.ContactPhotoType type;
		[CCode (has_construct_function = false)]
		public ContactPhoto ();
		public void free ();
		[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
		public unowned uint8[]? get_inlined ();
		public unowned string? get_mime_type ();
		public unowned string? get_uri ();
		public void set_inlined ([CCode (array_length_cname = "len", array_length_pos = 1.1, array_length_type = "gsize")] uint8[] data);
		public void set_mime_type (string mime_type);
		public void set_uri (string uri);
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_destination_get_type ()")]
	public class Destination : GLib.Object {
		[CCode (has_construct_function = false)]
		public Destination ();
		public E.Destination copy ();
		public bool empty ();
		public bool equal (E.Destination b);
		public string export ();
		public void export_to_vcard_attribute (E.VCardAttribute attr);
		public static string exportv (E.Destination destv);
		public static void freev (E.Destination destv);
		public unowned string get_address ();
		public unowned E.Contact get_contact ();
		public unowned string get_contact_uid ();
		public unowned string get_email ();
		public int get_email_num ();
		public bool get_html_mail_pref ();
		public unowned string get_name ();
		public unowned string get_source_uid ();
		public unowned string get_textrep (bool include_email);
		public static string get_textrepv (E.Destination destv);
		public static E.Destination import (string str);
		public static E.Destination importv (string str);
		public bool is_auto_recipient ();
		public bool is_evolution_list ();
		public bool is_ignored ();
		public unowned GLib.List<E.Destination> list_get_dests ();
		public unowned GLib.List<E.Destination> list_get_root_dests ();
		public bool list_show_addresses ();
		public void set_auto_recipient (bool value);
		[Deprecated (since = "3.2")]
		public void set_book (E.Book book);
		public void set_client (E.BookClient client);
		public void set_contact (E.Contact contact, int email_num);
		public void set_contact_uid (string uid, int email_num);
		public void set_email (string email);
		public void set_html_mail_pref (bool flag);
		public void set_ignored (bool ignored);
		public void set_name (string name);
		public void set_raw (string raw);
		public virtual signal void changed ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", type_id = "e_vcard_get_type ()")]
	public class VCard : GLib.Object {
		[CCode (has_construct_function = false)]
		public VCard ();
		public void add_attribute (owned E.VCardAttribute attr);
		public void add_attribute_with_value (owned E.VCardAttribute attr, string value);
		public void append_attribute (owned E.VCardAttribute attr);
		public void append_attribute_with_value (owned E.VCardAttribute attr, string value);
		public void @construct (string str);
		public void construct_with_uid (string str, string uid);
		public void dump_structure ();
		public static string escape_string (string s);
		[CCode (has_construct_function = false)]
		public VCard.from_string (string str);
		public unowned E.VCardAttribute? get_attribute (string name);
		public unowned E.VCardAttribute? get_attribute_if_parsed (string name);
		public unowned GLib.List<E.VCardAttribute> get_attributes ();
		public bool is_parsed ();
		public void remove_attribute (E.VCardAttribute attr);
		public void remove_attributes (string? attr_group, string attr_name);
		public string to_string (E.VCardFormat format);
		public static string unescape_string (string s);
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_vcard_attribute_get_type ()")]
	[Compact]
	public class VCardAttribute {
		[CCode (has_construct_function = false)]
		public VCardAttribute (string? attr_group, string attr_name);
		public void add_param (owned E.VCardAttributeParam param);
		public void add_param_with_value (owned E.VCardAttributeParam param, string value);
		public void add_value (string value);
		public void add_value_decoded (string value, int len);
		public E.VCardAttribute copy ();
		public void free ();
		public unowned string? get_group ();
		public unowned string get_name ();
		public unowned GLib.List<string> get_param (string name);
		public unowned GLib.List<E.VCardAttributeParam> get_params ();
		public string? get_value ();
		public GLib.StringBuilder get_value_decoded ();
		public unowned GLib.List<string> get_values ();
		public unowned GLib.List<GLib.StringBuilder> get_values_decoded ();
		public bool has_type (string typestr);
		public bool is_single_valued ();
		public void remove_param (string param_name);
		public void remove_param_value (string param_name, string s);
		public void remove_params ();
		public void remove_value (string s);
		public void remove_values ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "e_vcard_attribute_param_get_type ()")]
	[Compact]
	public class VCardAttributeParam {
		[CCode (has_construct_function = false)]
		public VCardAttributeParam (string name);
		public void add_value (string value);
		public E.VCardAttributeParam copy ();
		public void free ();
		public unowned string get_name ();
		public unowned GLib.List<string> get_values ();
		public void remove_values ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", has_type_id = false)]
	public struct AddressWestern {
		public weak string po_box;
		public weak string extended;
		public weak string street;
		public weak string locality;
		public weak string region;
		public weak string postal_code;
		public weak string country;
		public void free ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", has_type_id = false)]
	public struct BookChange {
		public E.BookChangeType change_type;
		public weak E.Contact contact;
	}
	[CCode (cheader_filename = "libebook/libebook.h", has_type_id = false)]
	public struct NameWestern {
		public weak string prefix;
		public weak string first;
		public weak string middle;
		public weak string nick;
		public weak string last;
		public weak string suffix;
		public weak string full;
		public void free ();
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_CHANGE_CARD_", type_id = "e_book_change_type_get_type ()")]
	public enum BookChangeType {
		ADDED,
		DELETED,
		MODIFIED
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_CLIENT_ERROR_", has_type_id = false)]
	public enum BookClientError {
		NO_SUCH_BOOK,
		CONTACT_NOT_FOUND,
		CONTACT_ID_ALREADY_EXISTS,
		NO_SUCH_SOURCE,
		NO_SPACE
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_CLIENT_VIEW_FLAGS_", has_type_id = false)]
	[Flags]
	public enum BookClientViewFlags {
		NONE,
		NOTIFY_INITIAL
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_QUERY_", has_type_id = false)]
	public enum BookQueryTest {
		IS,
		CONTAINS,
		BEGINS_WITH,
		ENDS_WITH
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_ERROR_", type_id = "e_book_status_get_type ()")]
	public enum BookStatus {
		OK,
		INVALID_ARG,
		BUSY,
		REPOSITORY_OFFLINE,
		NO_SUCH_BOOK,
		NO_SELF_CONTACT,
		SOURCE_NOT_LOADED,
		SOURCE_ALREADY_LOADED,
		PERMISSION_DENIED,
		CONTACT_NOT_FOUND,
		CONTACT_ID_ALREADY_EXISTS,
		PROTOCOL_NOT_SUPPORTED,
		CANCELLED,
		COULD_NOT_CANCEL,
		AUTHENTICATION_FAILED,
		AUTHENTICATION_REQUIRED,
		TLS_NOT_AVAILABLE,
		DBUS_EXCEPTION,
		NO_SUCH_SOURCE,
		OFFLINE_UNAVAILABLE,
		OTHER_ERROR,
		INVALID_SERVER_VERSION,
		UNSUPPORTED_AUTHENTICATION_METHOD,
		NO_SPACE,
		NOT_SUPPORTED
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_BOOK_VIEW_", type_id = "e_book_view_status_get_type ()")]
	public enum BookViewStatus {
		STATUS_OK,
		STATUS_TIME_LIMIT_EXCEEDED,
		STATUS_SIZE_LIMIT_EXCEEDED,
		ERROR_INVALID_QUERY,
		ERROR_QUERY_REFUSED,
		ERROR_OTHER_ERROR
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_CONTACT_", has_type_id = false)]
	public enum ContactField {
		UID,
		FILE_AS,
		BOOK_UID,
		FULL_NAME,
		GIVEN_NAME,
		FAMILY_NAME,
		NICKNAME,
		EMAIL_1,
		EMAIL_2,
		EMAIL_3,
		EMAIL_4,
		MAILER,
		ADDRESS_LABEL_HOME,
		ADDRESS_LABEL_WORK,
		ADDRESS_LABEL_OTHER,
		PHONE_ASSISTANT,
		PHONE_BUSINESS,
		PHONE_BUSINESS_2,
		PHONE_BUSINESS_FAX,
		PHONE_CALLBACK,
		PHONE_CAR,
		PHONE_COMPANY,
		PHONE_HOME,
		PHONE_HOME_2,
		PHONE_HOME_FAX,
		PHONE_ISDN,
		PHONE_MOBILE,
		PHONE_OTHER,
		PHONE_OTHER_FAX,
		PHONE_PAGER,
		PHONE_PRIMARY,
		PHONE_RADIO,
		PHONE_TELEX,
		PHONE_TTYTDD,
		ORG,
		ORG_UNIT,
		OFFICE,
		TITLE,
		ROLE,
		MANAGER,
		ASSISTANT,
		HOMEPAGE_URL,
		BLOG_URL,
		CATEGORIES,
		CALENDAR_URI,
		FREEBUSY_URL,
		ICS_CALENDAR,
		VIDEO_URL,
		SPOUSE,
		NOTE,
		IM_AIM_HOME_1,
		IM_AIM_HOME_2,
		IM_AIM_HOME_3,
		IM_AIM_WORK_1,
		IM_AIM_WORK_2,
		IM_AIM_WORK_3,
		IM_GROUPWISE_HOME_1,
		IM_GROUPWISE_HOME_2,
		IM_GROUPWISE_HOME_3,
		IM_GROUPWISE_WORK_1,
		IM_GROUPWISE_WORK_2,
		IM_GROUPWISE_WORK_3,
		IM_JABBER_HOME_1,
		IM_JABBER_HOME_2,
		IM_JABBER_HOME_3,
		IM_JABBER_WORK_1,
		IM_JABBER_WORK_2,
		IM_JABBER_WORK_3,
		IM_YAHOO_HOME_1,
		IM_YAHOO_HOME_2,
		IM_YAHOO_HOME_3,
		IM_YAHOO_WORK_1,
		IM_YAHOO_WORK_2,
		IM_YAHOO_WORK_3,
		IM_MSN_HOME_1,
		IM_MSN_HOME_2,
		IM_MSN_HOME_3,
		IM_MSN_WORK_1,
		IM_MSN_WORK_2,
		IM_MSN_WORK_3,
		IM_ICQ_HOME_1,
		IM_ICQ_HOME_2,
		IM_ICQ_HOME_3,
		IM_ICQ_WORK_1,
		IM_ICQ_WORK_2,
		IM_ICQ_WORK_3,
		REV,
		NAME_OR_ORG,
		ADDRESS,
		ADDRESS_HOME,
		ADDRESS_WORK,
		ADDRESS_OTHER,
		CATEGORY_LIST,
		PHOTO,
		LOGO,
		NAME,
		EMAIL,
		IM_AIM,
		IM_GROUPWISE,
		IM_JABBER,
		IM_YAHOO,
		IM_MSN,
		IM_ICQ,
		WANTS_HTML,
		IS_LIST,
		LIST_SHOW_ADDRESSES,
		BIRTH_DATE,
		ANNIVERSARY,
		X509_CERT,
		IM_GADUGADU_HOME_1,
		IM_GADUGADU_HOME_2,
		IM_GADUGADU_HOME_3,
		IM_GADUGADU_WORK_1,
		IM_GADUGADU_WORK_2,
		IM_GADUGADU_WORK_3,
		IM_GADUGADU,
		GEO,
		TEL,
		IM_SKYPE_HOME_1,
		IM_SKYPE_HOME_2,
		IM_SKYPE_HOME_3,
		IM_SKYPE_WORK_1,
		IM_SKYPE_WORK_2,
		IM_SKYPE_WORK_3,
		IM_SKYPE,
		SIP,
		IM_GOOGLE_TALK_HOME_1,
		IM_GOOGLE_TALK_HOME_2,
		IM_GOOGLE_TALK_HOME_3,
		IM_GOOGLE_TALK_WORK_1,
		IM_GOOGLE_TALK_WORK_2,
		IM_GOOGLE_TALK_WORK_3,
		IM_GOOGLE_TALK,
		IM_TWITTER,
		FIELD_LAST,
		FIELD_FIRST,
		LAST_SIMPLE_STRING,
		FIRST_PHONE_ID,
		LAST_PHONE_ID,
		FIRST_EMAIL_ID,
		LAST_EMAIL_ID,
		FIRST_ADDRESS_ID,
		LAST_ADDRESS_ID,
		FIRST_LABEL_ID,
		LAST_LABEL_ID
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_CONTACT_PHOTO_TYPE_", has_type_id = false)]
	public enum ContactPhotoType {
		INLINED,
		URI
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "E_DATA_BOOK_STATUS_", type_id = "e_data_book_status_get_type ()")]
	public enum DataBookStatus {
		SUCCESS,
		BUSY,
		REPOSITORY_OFFLINE,
		PERMISSION_DENIED,
		CONTACT_NOT_FOUND,
		CONTACTID_ALREADY_EXISTS,
		AUTHENTICATION_FAILED,
		AUTHENTICATION_REQUIRED,
		UNSUPPORTED_FIELD,
		UNSUPPORTED_AUTHENTICATION_METHOD,
		TLS_NOT_AVAILABLE,
		NO_SUCH_BOOK,
		BOOK_REMOVED,
		OFFLINE_UNAVAILABLE,
		SEARCH_SIZE_LIMIT_EXCEEDED,
		SEARCH_TIME_LIMIT_EXCEEDED,
		INVALID_QUERY,
		QUERY_REFUSED,
		COULD_NOT_CANCEL,
		OTHER_ERROR,
		INVALID_SERVER_VERSION,
		NO_SPACE,
		INVALID_ARG,
		NOT_SUPPORTED,
		NOT_OPENED
	}
	[CCode (cheader_filename = "libebook/libebook.h", cprefix = "EVC_FORMAT_VCARD_", has_type_id = false)]
	public enum VCardFormat {
		@21,
		@30
	}
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookAsyncCallback (E.Book book, GLib.Error error, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookBookViewAsyncCallback (E.Book book, GLib.Error error, E.BookView book_view, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookBookViewCallback (E.Book book, E.BookStatus status, E.BookView book_view, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookCallback (E.Book book, E.BookStatus status, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookContactAsyncCallback (E.Book book, GLib.Error error, E.Contact contact, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookContactCallback (E.Book book, E.BookStatus status, E.Contact contact, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookEListAsyncCallback (E.Book book, GLib.Error error, E.List list, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookEListCallback (E.Book book, E.BookStatus status, E.List list, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookIdAsyncCallback (E.Book book, GLib.Error error, string id, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookIdCallback (E.Book book, E.BookStatus status, string id, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", has_target = false)]
	public delegate void BookOpenProgressCallback (E.Book book, string status_message, short percent, void* closure);
	[CCode (cheader_filename = "libebook/libebook.h", cname = "E_VCARD_21_VALID_PARAMETERS")]
	public const string VCARD_21_VALID_PARAMETERS;
	[CCode (cheader_filename = "libebook/libebook.h", cname = "E_VCARD_21_VALID_PROPERTIES")]
	public const string VCARD_21_VALID_PROPERTIES;
}
