EContact

EContact — An individual contact in an addressbook.

Synopsis




enum        EContactField;
struct      EContactName;
struct      EContactPhoto;
struct      EContactAddress;
struct      EContactDate;
EContact*   e_contact_new                   (void);
EContact*   e_contact_new_from_vcard        (const char *vcard);
EContact*   e_contact_duplicate             (EContact *contact);
gpointer    e_contact_get                   (EContact *contact,
                                             EContactField field_id);
const gpointer e_contact_get_const          (EContact *contact,
                                             EContactField field_id);
void        e_contact_set                   (EContact *contact,
                                             EContactField field_id,
                                             gpointer value);
EContactDate* e_contact_date_new            (void);
EContactDate* e_contact_date_from_string    (const char *str);
char*       e_contact_date_to_string        (EContactDate *dt);
EContactName* e_contact_name_new            (void);
char*       e_contact_name_to_string        (const EContactName *name);
EContactName* e_contact_name_from_string    (const char *name_str);
EContactName* e_contact_name_copy           (EContactName *name);
void        e_contact_date_free             (EContactDate *date);
void        e_contact_name_free             (EContactName *name);
void        e_contact_photo_free            (EContactPhoto *photo);
void        e_contact_address_free          (EContactAddress *address);
const char* e_contact_field_name            (EContactField field_id);
const char* e_contact_pretty_name           (EContactField field_id);
EContactField e_contact_field_id            (const char *field_name);


Description

A convenient way of accessing the contact information in EVCard objects.

Details

enum EContactField

typedef enum {

	E_CONTACT_UID = 1,     	 /* string field */
	E_CONTACT_FILE_AS,     	 /* 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_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 */

	/* misc fields */
	E_CONTACT_SPOUSE,        /* string field */
	E_CONTACT_NOTE,          /* string 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 */

	/* Instant Messaging fields */
	E_CONTACT_IM_AIM,     	 /* 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 */

	/* 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 */

	E_CONTACT_WANTS_HTML,    /* boolean field */

	E_CONTACT_BIRTH_DATE,    /* structured field (EContactDate) */
	E_CONTACT_ANNIVERSARY,   /* structured field (EContactDate) */

	/* Security Fields */
	E_CONTACT_X509_CERT,                  /* string field */
	E_CONTACT_X509_CERT_SHA1_FINGERPRINT, /* 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_NAME_OR_ORG,

	E_CONTACT_FIELD_LAST,

	/* useful constants */
	E_CONTACT_LAST_SIMPLE_STRING = E_CONTACT_NOTE,
	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_3,
	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;


struct EContactName

struct EContactName {

	char *family;
	char *given;
	char *additional;
	char *prefixes;
	char *suffixes;
};


struct EContactPhoto

struct EContactPhoto {

	int length;
	char *data;
};


struct EContactAddress

struct EContactAddress {

	char *address_format; /* the two letter country code that
				 determines the format/meaning of the
				 following fields */
	char *po;
	char *ext;
	char *street;
	char *locality;
	char *region;
	char *code;
	char *country;
};


struct EContactDate

struct EContactDate {

	int year;
	int month;
	int day;
};


e_contact_new ()

EContact*   e_contact_new                   (void);

Returns :

e_contact_new_from_vcard ()

EContact*   e_contact_new_from_vcard        (const char *vcard);

vcard:
Returns :

e_contact_duplicate ()

EContact*   e_contact_duplicate             (EContact *contact);

contact:
Returns :

e_contact_get ()

gpointer    e_contact_get                   (EContact *contact,
                                             EContactField field_id);

contact:
field_id:
Returns :

e_contact_get_const ()

const gpointer e_contact_get_const          (EContact *contact,
                                             EContactField field_id);

contact:
field_id:
Returns :

e_contact_set ()

void        e_contact_set                   (EContact *contact,
                                             EContactField field_id,
                                             gpointer value);

contact:
field_id:
value:

e_contact_date_new ()

EContactDate* e_contact_date_new            (void);

Returns :

e_contact_date_from_string ()

EContactDate* e_contact_date_from_string    (const char *str);

str:
Returns :

e_contact_date_to_string ()

char*       e_contact_date_to_string        (EContactDate *dt);

dt:
Returns :

e_contact_name_new ()

EContactName* e_contact_name_new            (void);

Returns :

e_contact_name_to_string ()

char*       e_contact_name_to_string        (const EContactName *name);

name:
Returns :

e_contact_name_from_string ()

EContactName* e_contact_name_from_string    (const char *name_str);

name_str:
Returns :

e_contact_name_copy ()

EContactName* e_contact_name_copy           (EContactName *name);

name:
Returns :

e_contact_date_free ()

void        e_contact_date_free             (EContactDate *date);

date:

e_contact_name_free ()

void        e_contact_name_free             (EContactName *name);

name:

e_contact_photo_free ()

void        e_contact_photo_free            (EContactPhoto *photo);

photo:

e_contact_address_free ()

void        e_contact_address_free          (EContactAddress *address);

address:

e_contact_field_name ()

const char* e_contact_field_name            (EContactField field_id);

field_id:
Returns :

e_contact_pretty_name ()

const char* e_contact_pretty_name           (EContactField field_id);

field_id:
Returns :

e_contact_field_id ()

EContactField e_contact_field_id            (const char *field_name);

field_name:
Returns :

See Also

e-vcard