EdsfPersona

EdsfPersona — A persona subclass which represents a single EDS contact.

Functions

Properties

GeeSet * anti-links Read / Write
GLoadableIcon * avatar Read / Write
GDateTime * birthday Read / Write
gchar * calendar-event-id Read / Write
EContact * contact Read / Write / Construct Only
gchar * contact-id Read / Write / Construct Only
GeeSet * email-addresses Read / Write
gchar * full-name Read / Write
FolksGender gender Read / Write
GeeSet * groups Read / Write
GeeMultiMap * im-addresses Read / Write
gboolean in-google-personal-group Read / Write
gboolean is-favourite Read / Write
GStrv linkable-properties Read
GeeSet * local-ids Read / Write
FolksLocation * location Read / Write
gchar * nickname Read / Write
GeeSet * notes Read / Write
GeeSet * phone-numbers Read / Write
GeeSet * postal-addresses Read / Write
GeeSet * roles Read / Write
FolksStructuredName * structured-name Read / Write
GeeSet * system-groups Read / Write
GeeSet * urls Read / Write
GeeMultiMap * web-service-addresses Read / Write
GStrv writeable-properties Read

Types and Values

Object Hierarchy

    GObject
    ╰── FolksPersona
        ╰── EdsfPersona

Implemented Interfaces

EdsfPersona implements FolksAntiLinkable, FolksAvatarDetails, FolksBirthdayDetails, FolksEmailDetails, FolksExtendedInfo, FolksFavouriteDetails, FolksGenderDetails, FolksGroupDetails, FolksImDetails, FolksLocalIdDetails, FolksLocationDetails, FolksNameDetails, FolksNoteDetails, FolksPhoneDetails, FolksRoleDetails, FolksUrlDetails, FolksPostalAddressDetails and FolksWebServiceDetails.

Description

Each EdsfPersona instance represents a single EDS EContact. When the contact is modified (either by this folks client, or a different client), the EdsfPersona remains the same, but is assigned a new EContact. It then updates its properties from this new contact.

Functions

EDSF_TYPE_PERSONA

#define EDSF_TYPE_PERSONA (edsf_persona_get_type ())

The type for EdsfPersona.


edsf_persona_change_system_groups ()

void
edsf_persona_change_system_groups (EdsfPersona *self,
                                   GeeSet *system_groups,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_);

Change the contact's system groups.

The system groups are a property exposed by Google Contacts address books, and can include any combination of the following identifier: - "Contacts" - "Family" - "Friends" - "Coworkers"

Setting the system groups will also change the group membership to include the localized version of those groups, and may change the value of "in-google-personal-group".

Attempting to call this method on a persona beloging to a PersonaStore which is not Google will throw a PropertyError.

It's preferred to call this rather than setting "system-groups" directly, as this method gives error notification and will only return once the groups have been written to the relevant backing store (or the operation's failed).

FolksPropertyError will be returned in error

if setting the groups failed

See also: edsf_persona_change_system_groups_finish()

Parameters

self

the EdsfPersona instance

 

system_groups

 .

the complete set of system group ids the contact should be a member of

.

[in]

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

Since: 0.9.0


edsf_persona_change_system_groups_finish ()

void
edsf_persona_change_system_groups_finish
                               (EdsfPersona *self,
                                GAsyncResult *_res_,
                                GError **error);

Change the contact's system groups.

The system groups are a property exposed by Google Contacts address books, and can include any combination of the following identifier: - "Contacts" - "Family" - "Friends" - "Coworkers"

Setting the system groups will also change the group membership to include the localized version of those groups, and may change the value of "in-google-personal-group".

Attempting to call this method on a persona beloging to a PersonaStore which is not Google will throw a PropertyError.

It's preferred to call this rather than setting "system-groups" directly, as this method gives error notification and will only return once the groups have been written to the relevant backing store (or the operation's failed).

FolksPropertyError will be returned in error

if setting the groups failed

See also: edsf_persona_change_system_groups()

Parameters

self

the EdsfPersona instance

 

_res_

a GAsyncResult

 

error

location to store the error occuring, or NULL to ignore.

[error-domains FolksPropertyError]

Since: 0.9.0


edsf_persona_change_in_google_personal_group ()

void
edsf_persona_change_in_google_personal_group
                               (EdsfPersona *self,
                                gboolean in_personal,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);

Change whether this contact belongs to the personal group or not.

The personal contact group is a concept that exists only in Google address books. Other backends will throw a PropertyError.

It's preferred to call this rather than setting "in-google-personal-group" directly, as this method gives error notification and will only return once the membership has been written to the relevant backing store (or the operation's failed).

FolksPropertyError will be returned in error

if the address book is not Google, or if setting the property failed

See also: edsf_persona_change_in_google_personal_group_finish()

Parameters

self

the EdsfPersona instance

 

in_personal

 .

Whether to add or remove the personal group membership

.

[in]

_callback_

callback to call when the request is satisfied.

[scope async]

_user_data_

the data to pass to _callback_ function.

[closure]

Since: 0.9.0


edsf_persona_change_in_google_personal_group_finish ()

void
edsf_persona_change_in_google_personal_group_finish
                               (EdsfPersona *self,
                                GAsyncResult *_res_,
                                GError **error);

Change whether this contact belongs to the personal group or not.

The personal contact group is a concept that exists only in Google address books. Other backends will throw a PropertyError.

It's preferred to call this rather than setting "in-google-personal-group" directly, as this method gives error notification and will only return once the membership has been written to the relevant backing store (or the operation's failed).

FolksPropertyError will be returned in error

if the address book is not Google, or if setting the property failed

See also: edsf_persona_change_in_google_personal_group()

Parameters

self

the EdsfPersona instance

 

_res_

a GAsyncResult

 

error

location to store the error occuring, or NULL to ignore.

[error-domains FolksPropertyError]

Since: 0.9.0


edsf_persona_new ()

EdsfPersona *
edsf_persona_new (EdsfPersonaStore *store,
                  EContact *contact);

Create a new persona.

Create a new persona for the EdsfPersonaStore store, representing the EDS contact given by contact.

Parameters

store

 .

the store which will contain the persona

.

[in]

contact

 .

the EDS contact being represented by the persona

.

[in]

Since: 0.6.0


edsf_persona_get_contact ()

EContact *
edsf_persona_get_contact (EdsfPersona *self);

Get and return the current value of the "contact" property.

The e-d-s contact represented by this Persona

Parameters

self

the EdsfPersona instance to query

 

Returns

the value of the "contact" property


edsf_persona_get_contact_id ()

const gchar *
edsf_persona_get_contact_id (EdsfPersona *self);

Get and return the current value of the "contact-id" property.

The e-d-s contact uid

Parameters

self

the EdsfPersona instance to query

 

Returns

the value of the "contact-id" property

Since: 0.6.0


edsf_persona_get_system_groups ()

GeeSet *
edsf_persona_get_system_groups (EdsfPersona *self);

Get and return the current value of the "system-groups" property.

The complete set of system group identifiers the contact belongs to. See edsf_persona_change_system_groups() for details.

This is stored in the X-GOOGLE-SYSTEM-GROUP-IDS vCard field in EDS.

Parameters

self

the EdsfPersona instance to query

 

Returns

the value of the "system-groups" property

Since: 0.9.0


edsf_persona_set_system_groups ()

void
edsf_persona_set_system_groups (EdsfPersona *self,
                                GeeSet *value);

Set the value of the "system-groups" property to value .

The complete set of system group identifiers the contact belongs to. See edsf_persona_change_system_groups() for details.

This is stored in the X-GOOGLE-SYSTEM-GROUP-IDS vCard field in EDS.

Parameters

self

the EdsfPersona instance to modify

 

value

the new value of the "system-groups" property

 

Since: 0.9.0


edsf_persona_get_in_google_personal_group ()

gboolean
edsf_persona_get_in_google_personal_group
                               (EdsfPersona *self);

Get and return the current value of the "in-google-personal-group" property.

Whether this contact is in the “My Contacts” section of the user’s address book, rather than the “Other” section.

Parameters

self

the EdsfPersona instance to query

 

Returns

the value of the "in-google-personal-group" property

Since: 0.7.3


edsf_persona_set_in_google_personal_group ()

void
edsf_persona_set_in_google_personal_group
                               (EdsfPersona *self,
                                gboolean value);

Set the value of the "in-google-personal-group" property to value .

Whether this contact is in the “My Contacts” section of the user’s address book, rather than the “Other” section.

Parameters

self

the EdsfPersona instance to modify

 

value

the new value of the "in-google-personal-group" property

 

Since: 0.7.3

Types and Values

EDSF_PERSONA_folks_field_attribute_name

#define EDSF_PERSONA_folks_field_attribute_name "X-FOLKS-FIELD"

Name of folks’ custom parameter indicating automatic fields

Folks can create extra fields to improve linking between personas. These fields have a boolean-typed parameter added with this name, and the value ‘TRUE’. This allows clients to detect such fields and (for example) ignore them in the UI.

Since: 0.9.7


EDSF_PERSONA_gender_attribute_name

#define EDSF_PERSONA_gender_attribute_name "X-GENDER"

The vCard attribute used to specify a Contact's gender

Based on: http://tools.ietf.org/html/draft-ietf-vcarddav-vcardrev-22

Note that the above document is a draft and the gender property is still considered experimental, hence the "X-" prefix in the attribute name. So this might change.

Since: 0.6.0


EDSF_PERSONA_gender_male

#define EDSF_PERSONA_gender_male "M"

The value used to define the male gender for the X-GENDER vCard property.

Based on: http://tools.ietf.org/html/draft-ietf-vcarddav-vcardrev-22

Since: 0.6.0


EDSF_PERSONA_gender_female

#define EDSF_PERSONA_gender_female "F"

The value used to define the female gender for the X-GENDER vCard property.

Based on: http://tools.ietf.org/html/draft-ietf-vcarddav-vcardrev-22

Since: 0.6.0


struct EdsfPersona

struct EdsfPersona;

A persona subclass which represents a single EDS contact.

Each EdsfPersona instance represents a single EDS EContact. When the contact is modified (either by this folks client, or a different client), the EdsfPersona remains the same, but is assigned a new EContact. It then updates its properties from this new contact.


struct EdsfPersonaClass

struct EdsfPersonaClass {
	FolksPersonaClass parent_class;
};

The class structure for EDSF_TYPE_PERSONA. All the fields in this structure are private and should never be accessed directly.

Members

FolksPersonaClass parent_class;

the parent class structure

 

Property Details

The “anti-links” property

  “anti-links”               GeeSet *

anti-links.

Flags: Read / Write


The “avatar” property

  “avatar”                   GLoadableIcon *

avatar.

Flags: Read / Write


The “birthday” property

  “birthday”                 GDateTime *

birthday.

Flags: Read / Write


The “calendar-event-id” property

  “calendar-event-id”        gchar *

calendar-event-id.

Flags: Read / Write

Default value: NULL


The “contact” property

  “contact”                  EContact *

The e-d-s contact represented by this Persona

Flags: Read / Write / Construct Only


The “contact-id” property

  “contact-id”               gchar *

The e-d-s contact uid

Flags: Read / Write / Construct Only

Default value: NULL

Since: 0.6.0


The “email-addresses” property

  “email-addresses”          GeeSet *

email-addresses.

Flags: Read / Write


The “full-name” property

  “full-name”                gchar *

full-name.

Flags: Read / Write

Default value: NULL


The “gender” property

  “gender”                   FolksGender

gender.

Flags: Read / Write

Default value: FOLKS_GENDER_UNSPECIFIED


The “groups” property

  “groups”                   GeeSet *

groups.

Flags: Read / Write


The “im-addresses” property

  “im-addresses”             GeeMultiMap *

im-addresses.

Flags: Read / Write


The “in-google-personal-group” property

  “in-google-personal-group” gboolean

Whether this contact is in the “My Contacts” section of the user’s address book, rather than the “Other” section.

Flags: Read / Write

Default value: FALSE

Since: 0.7.3


The “is-favourite” property

  “is-favourite”             gboolean

is-favourite.

Flags: Read / Write

Default value: FALSE


The “linkable-properties” property

  “linkable-properties”      GStrv

linkable-properties.

Flags: Read


The “local-ids” property

  “local-ids”                GeeSet *

local-ids.

Flags: Read / Write


The “location” property

  “location”                 FolksLocation *

location.

Flags: Read / Write


The “nickname” property

  “nickname”                 gchar *

nickname.

Flags: Read / Write

Default value: NULL


The “notes” property

  “notes”                    GeeSet *

notes.

Flags: Read / Write


The “phone-numbers” property

  “phone-numbers”            GeeSet *

phone-numbers.

Flags: Read / Write


The “postal-addresses” property

  “postal-addresses”         GeeSet *

postal-addresses.

Flags: Read / Write


The “roles” property

  “roles”                    GeeSet *

roles.

Flags: Read / Write


The “structured-name” property

  “structured-name”          FolksStructuredName *

structured-name.

Flags: Read / Write


The “system-groups” property

  “system-groups”            GeeSet *

The complete set of system group identifiers the contact belongs to. See edsf_persona_change_system_groups() for details.

This is stored in the X-GOOGLE-SYSTEM-GROUP-IDS vCard field in EDS.

Flags: Read / Write

Since: 0.9.0


The “urls” property

  “urls”                     GeeSet *

urls.

Flags: Read / Write


The “web-service-addresses” property

  “web-service-addresses”    GeeMultiMap *

web-service-addresses.

Flags: Read / Write


The “writeable-properties” property

  “writeable-properties”     GStrv

writeable-properties.

Flags: Read