## ESourceMailAccount ESourceMailAccount — ESource extension for an email account |

## Synopsis

    #include <libedataserver/libedataserver.h>

    struct              ESourceMailAccount;
    #define             E_SOURCE_EXTENSION_MAIL_ACCOUNT
    const gchar *       e_source_mail_account_get_identity_uid
                                                            (ESourceMailAccount *extension);
    gchar *             e_source_mail_account_dup_identity_uid
                                                            (ESourceMailAccount *extension);
    void                e_source_mail_account_set_identity_uid
                                                            (ESourceMailAccount *extension,
                                                             const gchar *identity_uid);

## Object Hierarchy

      GObject
       +----ESourceExtension
             +----ESourceBackend
                   +----ESourceMailAccount

## Properties

      "identity-uid"             gchar*                : Read / Write / Construct

## Description

The ESourceMailAccount extension identifies the ESource as a mail account and also links to a default "mail identity" to use. See ESourceMailIdentity for more information about identities.

Access the extension as follows:

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

    ESourceMailAccount *extension;

    extension = e_source_get_extension (source, E_SOURCE_EXTENSION_MAIL_ACCOUNT);

## Details

### struct ESourceMailAccount

    struct ESourceMailAccount;

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

Since 3.6

### E_SOURCE_EXTENSION_MAIL_ACCOUNT

    #define E_SOURCE_EXTENSION_MAIL_ACCOUNT "Mail Account"

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

Since 3.6

### e_source_mail_account_get_identity_uid ()

    const gchar *       e_source_mail_account_get_identity_uid
                                                            (ESourceMailAccount *extension);

Returns the "uid" of the ESource that describes the mail identity to be used for this account.

`extension` : | an ESourceMailAccount
Returns : | the mail identity "uid"

Since 3.6

### e_source_mail_account_dup_identity_uid ()

    gchar *             e_source_mail_account_dup_identity_uid
                                                            (ESourceMailAccount *extension);

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

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

`extension` : | an ESourceMailAccount
Returns : | a newly-allocated copy of "identity-uid"

Since 3.6

### e_source_mail_account_set_identity_uid ()

    void                e_source_mail_account_set_identity_uid
                                                            (ESourceMailAccount *extension,
                                                             const gchar *identity_uid);

Sets the "uid" of the ESource that describes the mail identity to be used for this account.

`extension` : | an ESourceMailAccount
`identity_uid` : | the mail identity "uid", or `NULL`. [allow-none]

Since 3.6

## Property Details

### The `"identity-uid"` property

      "identity-uid"             gchar*                : Read / Write / Construct

ESource UID of a Mail Identity.

Default value: "self"