## org.gnome.OnlineAccounts.Account org.gnome.OnlineAccounts.Account |

## Methods

    Remove            ();
    EnsureCredentials (OUT i expires_in);

## Properties

    ProviderType          readable   s
    ProviderName          readable   s
    ProviderIcon          readable   s
    Id                    readable   s
    IsTemporary           readwrite  b
    AttentionNeeded       readable   b
    Identity              readable   s
    PresentationIdentity  readable   s
    MailDisabled          readwrite  b
    CalendarDisabled      readwrite  b
    ContactsDisabled      readwrite  b
    ChatDisabled          readwrite  b
    DocumentsDisabled     readwrite  b
    PhotosDisabled        readwrite  b
    FilesDisabled         readwrite  b
    TicketingDisabled     readwrite  b

## Description

The base account interface.

## Method Details

### The Remove() method

    Remove ();

Removes the account. Note that this does not removes the account at the remote service.

### The EnsureCredentials() method

    EnsureCredentials (OUT i expires_in);

Ensures that valid credentials exist for the account and returns how long they are still valid for, if known. Returns an error if the cached credentials are not valid or non-existant.

If this method fails because the token service indicates that authorization has expired, the "AttentionNeeded" property will be set to `TRUE`. On the other hand, if this property was already `TRUE` and this method succeeds, it is set to `FALSE`.

`OUT i `expires_in``: | The duration that the cached credentials are valid for, in seconds, or 0 if unknown.

## Property Details

### The "ProviderType" property

    ProviderType  readable   s

The type of provider of the account.

This value describes how data is accessed, e.g. what API applications should use. Use "ProviderName" for the name of the provider (which might differ from the provider name in hosted scenarios) to display in the user interface.

### The "ProviderName" property

    ProviderName  readable   s

The name of the provider to display in the user interface.

### The "ProviderIcon" property

    ProviderIcon  readable   s

The icon/logo of the provider.

This is a serialized GIcon - use e.g. g_icon_new_for_string() to create an instance.

### The "Id" property

    Id  readable   s

An identifier for this account.

This identifier cannot be changed and should never be displayed in any user interface.

### The "IsTemporary" property

    IsTemporary  readwrite  b

Whether or not the account is remembered from session to session.

Temporary accounts are added implicitly when the user is granted credentials from some mechanism other than Online Accounts, but that Online Accounts still knows how to deal with.

They are specific to the machine/session and are silently disregarded after logout.

Accounts are permanant by default unless created with "IsTemporary" "true" detail.

### The "AttentionNeeded" property

    AttentionNeeded  readable   b

Set to `TRUE` if the account is in need of attention.

This is used when a human operator is needed to service the account (e.g. for authentication and/or authorization).

### The "Identity" property

    Identity  readable   s

A string that uniquely identifies the account at the provider.

Note that this may be the same string for different kinds of providers (for example, if the user is using the same email-address for several providers) - use "Id" to uniquely identify the account.

This string might not be suitable for presentation in an user interface - use "PresentationIdentity" instead.

### The "PresentationIdentity" property

    PresentationIdentity  readable   s

Like the "Identity" property but suitable for presentation in an user interface.

### The "MailDisabled" property

    MailDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Mail interface. If the account does not provide email-like messaging capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Mail interface is added or removed from the account asynchronously.

### The "CalendarDisabled" property

    CalendarDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Calendar interface. If the account does not provide calendar-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Calendar interface is added or removed from the account asynchronously.

### The "ContactsDisabled" property

    ContactsDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Contacts interface. If the account does not provide contacts-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Contacts interface is added or removed from the account asynchronously.

### The "ChatDisabled" property

    ChatDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Chat interface. If the account does not provide chat-like messaging capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Chat interface is added or removed from the account asynchronously.

### The "DocumentsDisabled" property

    DocumentsDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Documents interface. If the account does not provide documents-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Documents interface is added or removed from the account asynchronously.

### The "PhotosDisabled" property

    PhotosDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Photos interface. If the account does not provide photos-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Photos interface is added or removed from the account asynchronously.

Since 3.8.0

### The "FilesDisabled" property

    FilesDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Files interface. If the account does not provide files-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Files interface is added or removed from the account asynchronously.

Since 3.8.0

### The "TicketingDisabled" property

    TicketingDisabled  readwrite  b

If `TRUE`, the account will not expose any org.gnome.OnlineAccounts.Ticketing interface. If the account does not provide ticketing-like capabilities, this property does nothing.

Note that the #org.gnomeOnlineAccounts.Ticketing interface is added or removed from the account asynchronously.

Since 3.6.0