## ESourceGoa ESourceGoa — ESource extension for GNOME Online Accounts |

## Functions

const gchar * | e_source_goa_get_account_id ()
gchar * | e_source_goa_dup_account_id ()
void | e_source_goa_set_account_id ()
const gchar * | e_source_goa_get_calendar_url ()
gchar * | e_source_goa_dup_calendar_url ()
void | e_source_goa_set_calendar_url ()
const gchar * | e_source_goa_get_contacts_url ()
gchar * | e_source_goa_dup_contacts_url ()
void | e_source_goa_set_contacts_url ()

## Types and Values

#define | E_SOURCE_EXTENSION_GOA
struct | ESourceGoa
struct | ESourceGoaClass

## Includes

    #include <libedataserver/libedataserver.h>

## Description

The ESourceGoa extension associates an ESource with a GoaAccount. This extension is usually found in a top-level ESource, with various mail, calendar and address book data sources as children.

Access the extension as follows:

    1
    2
    3
    4
    5
    #include <libedataserver/libedataserver.h>

    ESourceGoa *extension;

    extension = e_source_get_extension (source, E_SOURCE_EXTENSION_GOA);

## Functions

### e_source_goa_get_account_id ()

    const gchar *
    e_source_goa_get_account_id (ESourceGoa *extension);

Returns the identifier string of the GNOME Online Account associated with the ESource to which `extension` belongs.

#### Parameters

extension | an ESourceGoa |

#### Returns

the associated GNOME Online Account ID

Since 3.6

### e_source_goa_dup_account_id ()

    gchar *
    e_source_goa_dup_account_id (ESourceGoa *extension);

Thread-safe variation of `e_source_goa_get_account_id()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

#### Parameters

extension | an ESourceGoa |

#### Returns

a newly-allocated copy of “account-id”

Since 3.6

### e_source_goa_set_account_id ()

    void
    e_source_goa_set_account_id (ESourceGoa *extension,
                                 const gchar *account_id);

Sets the identifier string of the GNOME Online Account associated with the ESource to which `extension` belongs.

The internal copy of `account_id` is automatically stripped of leading and trailing whitespace. If the resulting string is empty, `NULL` is set instead.

#### Parameters

extension | an ESourceGoa |
account_id | the associated GNOME Online Account ID, or `NULL`. | [allow-none]

Since 3.6

### e_source_goa_get_calendar_url ()

    const gchar *
    e_source_goa_get_calendar_url (ESourceGoa *extension);

Returns the calendar URL string of the GNOME Online Account associated with the ESource to which `extension` belongs. Can be `NULL` or an empty string for accounts not supporting this property.

#### Parameters

extension | an ESourceGoa |

#### Returns

the associated GNOME Online Account calendar URL

Since 3.8

### e_source_goa_dup_calendar_url ()

    gchar *
    e_source_goa_dup_calendar_url (ESourceGoa *extension);

Thread-safe variation of `e_source_goa_get_calendar_url()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

#### Parameters

extension | an ESourceGoa |

#### Returns

a newly-allocated copy of “calendar-url”

Since 3.8

### e_source_goa_set_calendar_url ()

    void
    e_source_goa_set_calendar_url (ESourceGoa *extension,
                                   const gchar *calendar_url);

Sets the calendar URL of the GNOME Online Account associated with the ESource to which `extension` belongs.

The internal copy of `calendar_url` is automatically stripped of leading and trailing whitespace. If the resulting string is empty, `NULL` is set instead.

#### Parameters

extension | an ESourceGoa |
calendar_url | the associated GNOME Online Account calendar URL, or `NULL`. | [allow-none]

Since 3.8

### e_source_goa_get_contacts_url ()

    const gchar *
    e_source_goa_get_contacts_url (ESourceGoa *extension);

Returns the contacts URL string of the GNOME Online Account associated with the ESource to which `extension` belongs. Can be `NULL` or an empty string for accounts not supporting this property.

#### Parameters

extension | an ESourceGoa |

#### Returns

the associated GNOME Online Account contacts URL

Since 3.8

### e_source_goa_dup_contacts_url ()

    gchar *
    e_source_goa_dup_contacts_url (ESourceGoa *extension);

Thread-safe variation of `e_source_goa_get_contacts_url()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

#### Parameters

extension | an ESourceGoa |

#### Returns

a newly-allocated copy of “contacts-url”

Since 3.8

### e_source_goa_set_contacts_url ()

    void
    e_source_goa_set_contacts_url (ESourceGoa *extension,
                                   const gchar *contacts_url);

Sets the contacts URL of the GNOME Online Account associated with the ESource to which `extension` belongs.

The internal copy of `contacts_url` is automatically stripped of leading and trailing whitespace. If the resulting string is empty, `NULL` is set instead.

#### Parameters

extension | an ESourceGoa |
contacts_url | the associated GNOME Online Account contacts URL, or `NULL`. | [allow-none]

Since 3.8

## Types and Values

### E_SOURCE_EXTENSION_GOA

    #define E_SOURCE_EXTENSION_GOA "GNOME Online Accounts"

Pass this extension name to `e_source_get_extension()` to access ESourceGoa. This is also used as a group name in key files.

Since 3.6

### struct ESourceGoa

    struct ESourceGoa {
    	ESourceExtension parent;
    	ESourceGoaPrivate *priv;
    };

Contains only private data that should be read and manipulated using the functions below.

Since 3.6

### struct ESourceGoaClass

    struct ESourceGoaClass {
    	ESourceExtensionClass parent_class;
    };