## 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 ()
const gchar * | e_source_goa_get_name ()
gchar * | e_source_goa_dup_name ()
void | e_source_goa_set_name ()
const gchar * | e_source_goa_get_address ()
gchar * | e_source_goa_dup_address ()
void | e_source_goa_set_address ()

## Types and Values

#define | E_SOURCE_EXTENSION_GOA
struct | ESourceGoa

## Object Hierarchy

        GObject
        ╰── ESourceExtension
            ╰── ESourceGoa

## 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.

[nullable]

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”.

[nullable]

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`. | [nullable]

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.

[nullable]

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”.

[nullable]

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`. | [nullable]

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.

[nullable]

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”.

[nullable]

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`. | [nullable]

Since: 3.8

### e_source_goa_get_name ()

    const gchar *
    e_source_goa_get_name (ESourceGoa *extension);

Returns the original Name of the GNOME Online Account associated with the ESource to which `extension` belongs. Can be `NULL` or an empty string when not filled.

#### Parameters

extension | an ESourceGoa |

#### Returns

the associated GNOME Online Account's Name.

[nullable]

Since: 3.24

### e_source_goa_dup_name ()

    gchar *
    e_source_goa_dup_name (ESourceGoa *extension);

Thread-safe variation of `e_source_goa_get_name()`. 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 “name”.

[nullable]

Since: 3.24

### e_source_goa_set_name ()

    void
    e_source_goa_set_name (ESourceGoa *extension,
                           const gchar *name);

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

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

#### Parameters

extension | an ESourceGoa |
name | the associated GNOME Online Account's Name, or `NULL`. | [nullable]

Since: 3.24

### e_source_goa_get_address ()

    const gchar *
    e_source_goa_get_address (ESourceGoa *extension);

Returns the original Address of the GNOME Online Account associated with the ESource to which `extension` belongs. Can be `NULL` or an empty string when not filled.

#### Parameters

extension | an ESourceGoa |

#### Returns

the associated GNOME Online Account's Address.

[nullable]

Since: 3.24

### e_source_goa_dup_address ()

    gchar *
    e_source_goa_dup_address (ESourceGoa *extension);

Thread-safe variation of `e_source_goa_get_address()`. 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 “address”.

[nullable]

Since: 3.24

### e_source_goa_set_address ()

    void
    e_source_goa_set_address (ESourceGoa *extension,
                              const gchar *address);

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

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

#### Parameters

extension | an ESourceGoa |
address | the associated GNOME Online Account's Address, or `NULL`. | [nullable]

Since: 3.24

## 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;

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

Since: 3.6