| Evolution-Data-Server Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <libebook-contacts/libebook-contacts.h> enum EContactField; EContactName; EContactGeo; enum EContactPhotoType; EContactPhoto; EContactAddress; EContactDate; EContactCert; struct EContact; struct EContactClass; EContact * e_contact_new (void); EContact * e_contact_new_from_vcard (const gchar *vcard); EContact * e_contact_new_from_vcard_with_uid (const gchar *vcard,const gchar *uid); EContact * e_contact_duplicate (EContact *contact); gpointer e_contact_get (EContact *contact,EContactField field_id); gconstpointer e_contact_get_const (EContact *contact,EContactField field_id); void e_contact_set (EContact *contact,EContactField field_id,gconstpointer value); GList * e_contact_get_attributes (EContact *contact,EContactField field_id); void e_contact_set_attributes (EContact *contact,EContactField field_id,GList *attributes); EContactDate * e_contact_date_new (void); EContactDate * e_contact_date_from_string (const gchar *str); gchar * e_contact_date_to_string (EContactDate *dt); gboolean e_contact_date_equal (EContactDate *dt1,EContactDate *dt2); void e_contact_date_free (EContactDate *date); EContactName * e_contact_name_new (void); gchar * e_contact_name_to_string (const EContactName *name); EContactName * e_contact_name_from_string (const gchar *name_str); EContactName * e_contact_name_copy (EContactName *n); void e_contact_name_free (EContactName *name); EContactPhoto * e_contact_photo_new (void); void e_contact_photo_free (EContactPhoto *photo); EContactPhoto * e_contact_photo_copy (EContactPhoto *photo); const guchar * e_contact_photo_get_inlined (EContactPhoto *photo,gsize *len); void e_contact_photo_set_inlined (EContactPhoto *photo,const guchar *data,gsize len); const gchar * e_contact_photo_get_mime_type (EContactPhoto *photo); void e_contact_photo_set_mime_type (EContactPhoto *photo,const gchar *mime_type); const gchar * e_contact_photo_get_uri (EContactPhoto *photo); void e_contact_photo_set_uri (EContactPhoto *photo,const gchar *uri); gboolean e_contact_inline_local_photos (EContact *contact,GError **error); EContactGeo * e_contact_geo_new (void); void e_contact_geo_free (EContactGeo *geo); EContactCert * e_contact_cert_new (void); void e_contact_cert_free (EContactCert *cert); EContactAddress * e_contact_address_new (void); void e_contact_address_free (EContactAddress *address); GList * e_contact_attr_list_copy (GList *list); void e_contact_attr_list_free (GList *list); GType e_contact_field_type (EContactField field_id); const gchar * e_contact_field_name (EContactField field_id); const gchar * e_contact_pretty_name (EContactField field_id); const gchar * e_contact_vcard_attribute (EContactField field_id); EContactField e_contact_field_id (const gchar *field_name); EContactField e_contact_field_id_from_vcard (const gchar *vcard_field);
This subclass of EVCard is a convenient interface for interacting with vCards. The EBookClient, EBookClientView and EBookClientCursor return vCards in the form of an EContact for your convenience.
typedef enum {
E_CONTACT_UID = 1, /* string field */
E_CONTACT_FILE_AS, /* string field */
E_CONTACT_BOOK_UID, /* string field */
/* Name fields */
E_CONTACT_FULL_NAME, /* string field */
E_CONTACT_GIVEN_NAME, /* synthetic string field */
E_CONTACT_FAMILY_NAME, /* synthetic string field */
E_CONTACT_NICKNAME, /* string field */
/* Email fields */
E_CONTACT_EMAIL_1, /* synthetic string field */
E_CONTACT_EMAIL_2, /* synthetic string field */
E_CONTACT_EMAIL_3, /* synthetic string field */
E_CONTACT_EMAIL_4, /* synthetic string field */
E_CONTACT_MAILER, /* string field */
/* Address Labels */
E_CONTACT_ADDRESS_LABEL_HOME, /* synthetic string field */
E_CONTACT_ADDRESS_LABEL_WORK, /* synthetic string field */
E_CONTACT_ADDRESS_LABEL_OTHER, /* synthetic string field */
/* Phone fields */
E_CONTACT_PHONE_ASSISTANT,
E_CONTACT_PHONE_BUSINESS,
E_CONTACT_PHONE_BUSINESS_2,
E_CONTACT_PHONE_BUSINESS_FAX,
E_CONTACT_PHONE_CALLBACK,
E_CONTACT_PHONE_CAR,
E_CONTACT_PHONE_COMPANY,
E_CONTACT_PHONE_HOME,
E_CONTACT_PHONE_HOME_2,
E_CONTACT_PHONE_HOME_FAX,
E_CONTACT_PHONE_ISDN,
E_CONTACT_PHONE_MOBILE,
E_CONTACT_PHONE_OTHER,
E_CONTACT_PHONE_OTHER_FAX,
E_CONTACT_PHONE_PAGER,
E_CONTACT_PHONE_PRIMARY,
E_CONTACT_PHONE_RADIO,
E_CONTACT_PHONE_TELEX,
E_CONTACT_PHONE_TTYTDD,
/* Organizational fields */
E_CONTACT_ORG, /* string field */
E_CONTACT_ORG_UNIT, /* string field */
E_CONTACT_OFFICE, /* string field */
E_CONTACT_TITLE, /* string field */
E_CONTACT_ROLE, /* string field */
E_CONTACT_MANAGER, /* string field */
E_CONTACT_ASSISTANT, /* string field */
/* Web fields */
E_CONTACT_HOMEPAGE_URL, /* string field */
E_CONTACT_BLOG_URL, /* string field */
/* Contact categories */
E_CONTACT_CATEGORIES, /* string field */
/* Collaboration fields */
E_CONTACT_CALENDAR_URI, /* string field */
E_CONTACT_FREEBUSY_URL, /* string field */
E_CONTACT_ICS_CALENDAR, /* string field */
E_CONTACT_VIDEO_URL, /* string field */
/* misc fields */
E_CONTACT_SPOUSE, /* string field */
E_CONTACT_NOTE, /* string field */
E_CONTACT_IM_AIM_HOME_1, /* Synthetic string field */
E_CONTACT_IM_AIM_HOME_2, /* Synthetic string field */
E_CONTACT_IM_AIM_HOME_3, /* Synthetic string field */
E_CONTACT_IM_AIM_WORK_1, /* Synthetic string field */
E_CONTACT_IM_AIM_WORK_2, /* Synthetic string field */
E_CONTACT_IM_AIM_WORK_3, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_HOME_1, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_HOME_2, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_HOME_3, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_WORK_1, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_WORK_2, /* Synthetic string field */
E_CONTACT_IM_GROUPWISE_WORK_3, /* Synthetic string field */
E_CONTACT_IM_JABBER_HOME_1, /* Synthetic string field */
E_CONTACT_IM_JABBER_HOME_2, /* Synthetic string field */
E_CONTACT_IM_JABBER_HOME_3, /* Synthetic string field */
E_CONTACT_IM_JABBER_WORK_1, /* Synthetic string field */
E_CONTACT_IM_JABBER_WORK_2, /* Synthetic string field */
E_CONTACT_IM_JABBER_WORK_3, /* Synthetic string field */
E_CONTACT_IM_YAHOO_HOME_1, /* Synthetic string field */
E_CONTACT_IM_YAHOO_HOME_2, /* Synthetic string field */
E_CONTACT_IM_YAHOO_HOME_3, /* Synthetic string field */
E_CONTACT_IM_YAHOO_WORK_1, /* Synthetic string field */
E_CONTACT_IM_YAHOO_WORK_2, /* Synthetic string field */
E_CONTACT_IM_YAHOO_WORK_3, /* Synthetic string field */
E_CONTACT_IM_MSN_HOME_1, /* Synthetic string field */
E_CONTACT_IM_MSN_HOME_2, /* Synthetic string field */
E_CONTACT_IM_MSN_HOME_3, /* Synthetic string field */
E_CONTACT_IM_MSN_WORK_1, /* Synthetic string field */
E_CONTACT_IM_MSN_WORK_2, /* Synthetic string field */
E_CONTACT_IM_MSN_WORK_3, /* Synthetic string field */
E_CONTACT_IM_ICQ_HOME_1, /* Synthetic string field */
E_CONTACT_IM_ICQ_HOME_2, /* Synthetic string field */
E_CONTACT_IM_ICQ_HOME_3, /* Synthetic string field */
E_CONTACT_IM_ICQ_WORK_1, /* Synthetic string field */
E_CONTACT_IM_ICQ_WORK_2, /* Synthetic string field */
E_CONTACT_IM_ICQ_WORK_3, /* Synthetic string field */
/* Convenience field for getting a name from the contact.
* Returns the first one of[File-As, Full Name, Org, Email1]
* to be set */
E_CONTACT_REV, /* string field to hold time of last update to this vcard */
E_CONTACT_NAME_OR_ORG,
/* Address fields */
E_CONTACT_ADDRESS, /* Multi-valued structured (EContactAddress) */
E_CONTACT_ADDRESS_HOME, /* synthetic structured field (EContactAddress) */
E_CONTACT_ADDRESS_WORK, /* synthetic structured field (EContactAddress) */
E_CONTACT_ADDRESS_OTHER, /* synthetic structured field (EContactAddress) */
E_CONTACT_CATEGORY_LIST, /* multi-valued */
/* Photo/Logo */
E_CONTACT_PHOTO, /* structured field (EContactPhoto) */
E_CONTACT_LOGO, /* structured field (EContactPhoto) */
E_CONTACT_NAME, /* structured field (EContactName) */
E_CONTACT_EMAIL, /* Multi-valued */
/* Instant Messaging fields */
E_CONTACT_IM_AIM, /* Multi-valued */
E_CONTACT_IM_GROUPWISE, /* Multi-valued */
E_CONTACT_IM_JABBER, /* Multi-valued */
E_CONTACT_IM_YAHOO, /* Multi-valued */
E_CONTACT_IM_MSN, /* Multi-valued */
E_CONTACT_IM_ICQ, /* Multi-valued */
E_CONTACT_WANTS_HTML, /* boolean field */
/* fields used for describing contact lists. a contact list
* is just a contact with _IS_LIST set to true. the members
* are listed in the _EMAIL field. */
E_CONTACT_IS_LIST, /* boolean field */
E_CONTACT_LIST_SHOW_ADDRESSES, /* boolean field */
E_CONTACT_BIRTH_DATE, /* structured field (EContactDate) */
E_CONTACT_ANNIVERSARY, /* structured field (EContactDate) */
/* Security Fields */
E_CONTACT_X509_CERT, /* structured field (EContactCert) */
E_CONTACT_IM_GADUGADU_HOME_1, /* Synthetic string field */
E_CONTACT_IM_GADUGADU_HOME_2, /* Synthetic string field */
E_CONTACT_IM_GADUGADU_HOME_3, /* Synthetic string field */
E_CONTACT_IM_GADUGADU_WORK_1, /* Synthetic string field */
E_CONTACT_IM_GADUGADU_WORK_2, /* Synthetic string field */
E_CONTACT_IM_GADUGADU_WORK_3, /* Synthetic string field */
E_CONTACT_IM_GADUGADU, /* Multi-valued */
E_CONTACT_GEO, /* structured field (EContactGeo) */
E_CONTACT_TEL, /* list of strings */
E_CONTACT_IM_SKYPE_HOME_1, /* Synthetic string field */
E_CONTACT_IM_SKYPE_HOME_2, /* Synthetic string field */
E_CONTACT_IM_SKYPE_HOME_3, /* Synthetic string field */
E_CONTACT_IM_SKYPE_WORK_1, /* Synthetic string field */
E_CONTACT_IM_SKYPE_WORK_2, /* Synthetic string field */
E_CONTACT_IM_SKYPE_WORK_3, /* Synthetic string field */
E_CONTACT_IM_SKYPE, /* Multi-valued */
E_CONTACT_SIP,
E_CONTACT_IM_GOOGLE_TALK_HOME_1, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK_HOME_2, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK_HOME_3, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK_WORK_1, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK_WORK_2, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK_WORK_3, /* Synthetic string field */
E_CONTACT_IM_GOOGLE_TALK, /* Multi-valued */
E_CONTACT_IM_TWITTER, /* Multi-valued */
E_CONTACT_FIELD_LAST,
E_CONTACT_FIELD_FIRST = E_CONTACT_UID,
/* useful constants */
E_CONTACT_LAST_SIMPLE_STRING = E_CONTACT_NAME_OR_ORG,
E_CONTACT_FIRST_PHONE_ID = E_CONTACT_PHONE_ASSISTANT,
E_CONTACT_LAST_PHONE_ID = E_CONTACT_PHONE_TTYTDD,
E_CONTACT_FIRST_EMAIL_ID = E_CONTACT_EMAIL_1,
E_CONTACT_LAST_EMAIL_ID = E_CONTACT_EMAIL_4,
E_CONTACT_FIRST_ADDRESS_ID = E_CONTACT_ADDRESS_HOME,
E_CONTACT_LAST_ADDRESS_ID = E_CONTACT_ADDRESS_OTHER,
E_CONTACT_FIRST_LABEL_ID = E_CONTACT_ADDRESS_LABEL_HOME,
E_CONTACT_LAST_LABEL_ID = E_CONTACT_ADDRESS_LABEL_OTHER
} EContactField;
typedef struct {
gchar *family;
gchar *given;
gchar *additional;
gchar *prefixes;
gchar *suffixes;
} EContactName;
typedef enum {
E_CONTACT_PHOTO_TYPE_INLINED,
E_CONTACT_PHOTO_TYPE_URI
} EContactPhotoType;
typedef struct {
EContactPhotoType type;
union {
struct {
gchar *mime_type;
gsize length;
guchar *data;
} inlined;
gchar *uri;
} data;
} EContactPhoto;
typedef struct {
gchar *address_format; /* the two letter country code that
* determines the format/meaning of the
* following fields */
gchar *po;
gchar *ext;
gchar *street;
gchar *locality;
gchar *region;
gchar *code;
gchar *country;
} EContactAddress;
struct EContactClass {
EVCardClass parent_class;
/* Padding for future expansion */
void (*_ebook_reserved0) (void);
void (*_ebook_reserved1) (void);
void (*_ebook_reserved2) (void);
void (*_ebook_reserved3) (void);
void (*_ebook_reserved4) (void);
};
EContact * e_contact_new (void);
Creates a new, blank EContact.
Returns : |
A new EContact. |
EContact * e_contact_new_from_vcard (const gchar *vcard);
Creates a new EContact based on a vcard.
|
a string representing a vcard |
Returns : |
A new EContact. |
EContact * e_contact_new_from_vcard_with_uid (const gchar *vcard,const gchar *uid);
Creates a new EContact based on a vcard and a predefined UID.
|
a string representing a vcard |
|
a contact UID |
Returns : |
A new EContact. |
Since 3.4
EContact * e_contact_duplicate (EContact *contact);
Creates a copy of contact.
gpointer e_contact_get (EContact *contact,EContactField field_id);
Gets the value of contact's field specified by field_id.
|
an EContact |
|
an EContactField |
Returns : |
Depends on the field's type, owned by the caller. This may be NULL if the field isn't set. [transfer full][allow-none]
|
gconstpointer e_contact_get_const (EContact *contact,EContactField field_id);
Gets the value of contact's field specified by field_id, caching
the result so it can be freed later.
|
an EContact |
|
an EContactField |
Returns : |
Depends on the field's type, owned by the EContact. [transfer none] |
void e_contact_set (EContact *contact,EContactField field_id,gconstpointer value);
Sets the value of contact's field specified by field_id to value.
|
an EContact |
|
an EContactField |
|
a value whose type depends on the field_id
|
GList * e_contact_get_attributes (EContact *contact,EContactField field_id);
Gets a list of the vcard attributes for contact's field_id.
|
an EContact |
|
an EContactField |
Returns : |
A GList of pointers to EVCardAttribute, owned by the caller. [transfer full][element-type EVCardAttribute] |
void e_contact_set_attributes (EContact *contact,EContactField field_id,GList *attributes);
Sets the vcard attributes for contact's field_id.
Attributes are added to the contact in the same order as they are in attributes.
|
an EContact |
|
an EContactField |
|
a GList of pointers to EVCardAttribute. [element-type EVCardAttribute] |
EContactDate * e_contact_date_new (void);
Creates a new EContactDate struct.
Returns : |
A new EContactDate struct. |
EContactDate * e_contact_date_from_string (const gchar *str);
Creates a new EContactDate based on str.
|
a date string in the format YYYY-MM-DD or YYYYMMDD |
Returns : |
A new EContactDate struct. |
gchar * e_contact_date_to_string (EContactDate *dt);
Generates a date string in the format YYYY-MM-DD based
on the values of dt.
|
an EContactDate |
Returns : |
A date string, owned by the caller. |
gboolean e_contact_date_equal (EContactDate *dt1,EContactDate *dt2);
Checks if dt1 and dt2 are the same date.
|
an EContactDate |
|
an EContactDate |
Returns : |
TRUE if dt1 and dt2 are equal, FALSE otherwise. |
void e_contact_date_free (EContactDate *date);
Frees the date struct and its contents.
|
an EContactDate |
EContactName * e_contact_name_new (void);
Creates a new EContactName struct.
Returns : |
A new EContactName struct. |
gchar * e_contact_name_to_string (const EContactName *name);
Generates a string representation of name.
|
an EContactName |
Returns : |
The string representation of name. |
EContactName * e_contact_name_from_string (const gchar *name_str);
Creates a new EContactName based on the parsed name_str.
|
a string representing a contact's full name |
Returns : |
A new EContactName struct. |
EContactName * e_contact_name_copy (EContactName *n);
Creates a copy of n.
|
an EContactName |
Returns : |
A new EContactName identical to n. |
void e_contact_name_free (EContactName *name);
Frees name and its contents.
|
an EContactName |
EContactPhoto * e_contact_photo_new (void);
Creates a new EContactPhoto struct.
Returns : |
A new EContactPhoto struct. [transfer full] |
Since 3.2
void e_contact_photo_free (EContactPhoto *photo);
Frees the photo struct and its contents.
|
an EContactPhoto struct |
EContactPhoto * e_contact_photo_copy (EContactPhoto *photo);
Creates a copy of photo.
|
an EContactPhoto |
Returns : |
A new EContactPhoto struct identical to photo. |
Since 3.8
const guchar * e_contact_photo_get_inlined (EContactPhoto *photo,gsize *len);
Gets the photo's data.
|
an EContactPhoto |
|
the length of the inlined data. [out caller-allocates][transfer none] |
Returns : |
the inlined image in the
EContactPhoto, or NULL if it has not been set. [transfer none][array length=len][allow-none]
|
Since 3.2
void e_contact_photo_set_inlined (EContactPhoto *photo,const guchar *data,gsize len);
Sets the photo's inlined data.
|
an EContactPhoto |
|
the inlined image data. [transfer none][array length=len] |
|
the length of data
|
Since 3.2
const gchar * e_contact_photo_get_mime_type (EContactPhoto *photo);
Gets the photo's mime type.
|
an EContactPhoto |
Returns : |
the MIME type of the image, or NULL if it has not been set. [transfer none][allow-none]
|
Since 3.2
void e_contact_photo_set_mime_type (EContactPhoto *photo,const gchar *mime_type);
Sets the photo's mime type.
|
an EContactPhoto |
|
the mime type |
Since 3.2
const gchar * e_contact_photo_get_uri (EContactPhoto *photo);
Gets the photo's URI.
|
an EContactPhoto |
Returns : |
the URI of the image, or NULL if it has not been set. [transfer none][allow-none]
|
Since 3.2
void e_contact_photo_set_uri (EContactPhoto *photo,const gchar *uri);
Sets the photo's URI.
|
an EContactPhoto |
|
the photo's URI |
Since 3.2
gboolean e_contact_inline_local_photos (EContact *contact,GError **error);
Tries to modify any EContactPhoto fields which are
stored on the local file system as type E_CONTACT_PHOTO_TYPE_URI
to be inlined and stored as E_CONTACT_PHOTO_TYPE_INLINED instead.
|
an EContact |
|
the location to store any GError which might occur |
Returns : |
TRUE if there were no errors, upon error FALSE is returned
and error is set. |
Since 3.4
EContactGeo * e_contact_geo_new (void);
Creates an EContactGeo struct with all coordinates set to 0.
Returns : |
A new EContactGeo struct. [transfer full] |
Since 3.8
void e_contact_geo_free (EContactGeo *geo);
Frees the geo struct and its contents.
|
an EContactGeo |
Since 1.12
EContactCert * e_contact_cert_new (void);
Creates an EContactCert struct with all values set to 0.
Returns : |
A new EContactCert struct. [transfer full] |
Since 3.8
void e_contact_cert_free (EContactCert *cert);
Frees the cert struct and its contents.
|
an EContactCert |
EContactAddress * e_contact_address_new (void);
Creates a new EContactAddress struct.
Returns : |
A new EContactAddress struct. [transfer full] |
Since 3.2
void e_contact_address_free (EContactAddress *address);
Frees the address struct and its contents.
|
an EContactAddress |
GList * e_contact_attr_list_copy (GList *list);
Copies a list of allocated strings, specifically for the EContactAttrList boxed type used for multi valued contact fields.
|
A GList of strings |
Returns : |
A copy of list. [transfer full]
|
Since 3.8
void e_contact_attr_list_free (GList *list);
Frees a list of allocated strings, specifically for the EContactAttrList boxed type used for multi valued contact fields.
|
A GList of strings |
Since 3.8
GType e_contact_field_type (EContactField field_id);
Gets the GType used for this contact field, this indicates
what kind of value can be passed to e_contact_set().
|
an EContactField |
Returns : |
The GType used for field_id, or G_TYPE_INVALID if it doesn't exist. |
Since 3.8
const gchar * e_contact_field_name (EContactField field_id);
Gets the string representation of field_id.
|
an EContactField |
Returns : |
The string representation of field_id, or NULL if it doesn't exist. |
const gchar * e_contact_pretty_name (EContactField field_id);
Gets a human-readable, translated string representation
of field_id.
|
an EContactField |
Returns : |
The human-readable representation of field_id, or NULL if it doesn't exist. |
const gchar * e_contact_vcard_attribute (EContactField field_id);
Gets the vcard attribute corresponding to field_id, as a string.
|
an EContactField |
Returns : |
The vcard attribute corresponding to field_id, or NULL if it doesn't exist. |
EContactField e_contact_field_id (const gchar *field_name);
Gets the EContactField corresponding to the field_name.
|
a string representing a contact field |
Returns : |
An EContactField corresponding to field_name, or 0 if it doesn't exist. |
EContactField e_contact_field_id_from_vcard (const gchar *vcard_field);
Gets the EContactField corresponding to the vcard_field.
|
a string representing a vCard field |
Returns : |
An EContactField corresponding to vcard_field, or 0 if it doesn't exist. |
Since 2.26