## FolksPhoneFieldDetails FolksPhoneFieldDetails — Object representing a phone number that can have some parameters associated with it. |

## Functions

gchar * | folks_phone_field_details_get_normalised ()
FolksPhoneFieldDetails * | folks_phone_field_details_new ()
void | folks_phone_details_change_phone_numbers ()
void | folks_phone_details_change_phone_numbers_finish ()
GeeSet * | folks_phone_details_get_phone_numbers ()
void | folks_phone_details_set_phone_numbers ()

## Types and Values

#define | FOLKS_TYPE_PHONE_FIELD_DETAILS
struct | FolksPhoneFieldDetails
struct | FolksPhoneFieldDetailsClass
| FolksPhoneDetails
struct | FolksPhoneDetailsIface

## Description

See FolksAbstractFieldDetails for details on common parameter names and values.

## Functions

### folks_phone_field_details_get_normalised ()

    gchar *
    folks_phone_field_details_get_normalised
                                   (FolksPhoneFieldDetails *self);

Return this object's normalised phone number.

Typical normalisations:

- `1-800-123-4567` → `18001234567`

- `+1-800-123-4567` → `+18001234567`

- `+1-800-123-4567P123` → `+18001234567P123`

#### Parameters

self | the FolksPhoneFieldDetails instance |

#### Returns

the normalised form of `number`

Since: 0.6.0

### folks_phone_field_details_new ()

    FolksPhoneFieldDetails *
    folks_phone_field_details_new (const gchar *value,
                                   GeeMultiMap *parameters);

Create a new PhoneFieldDetails.

#### Parameters

value | . the value of the field, which should be a non-empty phone number (no particular format is mandated) . | [in]
parameters | . initial parameters. See "parameters". A `null` value is equivalent to an empty map of parameters. . | [in][allow-none]

#### Returns

a new PhoneFieldDetails

Since: 0.6.0

### folks_phone_details_change_phone_numbers ()

    void
    folks_phone_details_change_phone_numbers
                                   (FolksPhoneDetails *self,
                                    GeeSet *phone_numbers,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);

Change the contact's phone numbers.

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

FolksPropertyError will be returned in `error`

if setting the phone numbers failed

See also: `folks_phone_details_change_phone_numbers_finish()`

#### Parameters

self | the FolksPhoneDetails instance |
phone_numbers | . the set of phone numbers . | [in]
_callback_ | callback to call when the request is satisfied. | [scope async]
_user_data_ | the data to pass to `_callback_` function. | [closure]

Since: 0.6.2

### folks_phone_details_change_phone_numbers_finish ()

    void
    folks_phone_details_change_phone_numbers_finish
                                   (FolksPhoneDetails *self,
                                    GAsyncResult *_res_,
                                    GError **error);

Change the contact's phone numbers.

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

FolksPropertyError will be returned in `error`

if setting the phone numbers failed

See also: `folks_phone_details_change_phone_numbers()`

#### Parameters

self | the FolksPhoneDetails instance |
_res_ | a GAsyncResult |
error | location to store the error occurring, or `NULL` to ignore. | [error-domains FolksPropertyError]

Since: 0.6.2

### folks_phone_details_get_phone_numbers ()

    GeeSet *
    folks_phone_details_get_phone_numbers (FolksPhoneDetails *self);

Get and return the current value of the "phone-numbers" property.

The phone numbers of the contact.

A list of phone numbers associated to the contact.

#### Parameters

self | the FolksPhoneDetails instance to query |

#### Returns

the value of the "phone-numbers" property

Since: 0.6.0

### folks_phone_details_set_phone_numbers ()

    void
    folks_phone_details_set_phone_numbers (FolksPhoneDetails *self,
                                           GeeSet *value);

Set the value of the "phone-numbers" property to `value` .

The phone numbers of the contact.

A list of phone numbers associated to the contact.

#### Parameters

self | the FolksPhoneDetails instance to modify |
value | the new value of the "phone-numbers" property |

Since: 0.6.0

## Types and Values

### FOLKS_TYPE_PHONE_FIELD_DETAILS

    #define FOLKS_TYPE_PHONE_FIELD_DETAILS (folks_phone_field_details_get_type ())

The type for FolksPhoneFieldDetails.

### struct FolksPhoneFieldDetails

    struct FolksPhoneFieldDetails {
    	FolksAbstractFieldDetails parent_instance;
    	FolksPhoneFieldDetailsPrivate * priv;
    };

Object representing a phone number that can have some parameters associated with it.

See FolksAbstractFieldDetails for details on common parameter names and values.

Since: 0.6.0

### struct FolksPhoneFieldDetailsClass

    struct FolksPhoneFieldDetailsClass {
    	FolksAbstractFieldDetailsClass parent_class;
    };

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

#### Members

### FolksPhoneDetails

    typedef struct _FolksPhoneDetails FolksPhoneDetails;

Interface for classes that can provide a phone number, such as FolksPersona and FolksIndividual.

Since: 0.3.5

### struct FolksPhoneDetailsIface

    struct FolksPhoneDetailsIface {
    	GTypeInterface parent_iface;
    	void (*change_phone_numbers) (FolksPhoneDetails* self, GeeSet* phone_numbers, GAsyncReadyCallback _callback_, gpointer _user_data_);
    	void (*change_phone_numbers_finish) (FolksPhoneDetails* self, GAsyncResult* _res_, GError** error);
    	GeeSet* (*get_phone_numbers) (FolksPhoneDetails* self);
    	void (*set_phone_numbers) (FolksPhoneDetails* self, GeeSet* value);
    };

Interface for creating FolksPhoneDetails implementations.

#### Members

GTypeInterface `parent_iface`; | the parent interface structure |
`change_phone_numbers` () | virtual method called by `folks_phone_details_change_phone_numbers()` |
`change_phone_numbers_finish` () | asynchronous finish function for `change_phone_numbers`, called by `folks_phone_details_change_phone_numbers()` |
`get_phone_numbers` () | getter method for the abstract property "phone-numbers" |
`set_phone_numbers` () | setter method for the abstract property "phone-numbers" |