## TpAccount

TpAccount — proxy object for an account in the Telepathy account manager

## Functions

TpAccount * | tp_account_new ()
void | tp_account_init_known_interfaces ()
gboolean | tp_account_parse_object_path ()
const gchar * | tp_account_get_path_suffix ()
TpConnection * | tp_account_get_connection ()
TpConnection * | tp_account_ensure_connection ()
const gchar * | tp_account_get_display_name ()
const gchar * | tp_account_get_connection_manager ()
const gchar * | tp_account_get_cm_name ()
const gchar * | tp_account_get_protocol ()
const gchar * | tp_account_get_protocol_name ()
const gchar * | tp_account_get_icon_name ()
const gchar * | tp_account_get_service ()
void | tp_account_set_enabled_async ()
gboolean | tp_account_set_enabled_finish ()
void | tp_account_reconnect_async ()
gboolean | tp_account_reconnect_finish ()
gboolean | tp_account_is_enabled ()
gboolean | tp_account_is_valid ()
void | tp_account_update_parameters_async ()
gboolean | tp_account_update_parameters_finish ()
void | tp_account_update_parameters_vardict_async ()
gboolean | tp_account_update_parameters_vardict_finish ()
void | tp_account_remove_async ()
gboolean | tp_account_remove_finish ()
void | tp_account_set_display_name_async ()
gboolean | tp_account_set_display_name_finish ()
void | tp_account_set_icon_name_async ()
gboolean | tp_account_set_icon_name_finish ()
void | tp_account_set_service_async ()
gboolean | tp_account_set_service_finish ()
void | tp_account_request_presence_async ()
gboolean | tp_account_request_presence_finish ()
void | tp_account_set_automatic_presence_async ()
gboolean | tp_account_set_automatic_presence_finish ()
gboolean | tp_account_get_connect_automatically ()
void | tp_account_set_connect_automatically_async ()
gboolean | tp_account_set_connect_automatically_finish ()
gboolean | tp_account_get_has_been_online ()
TpConnectionStatus | tp_account_get_connection_status ()
const gchar * | tp_account_get_detailed_error ()
gchar * | tp_account_dup_detailed_error_vardict ()
gboolean | tp_account_get_changing_presence ()
TpConnectionPresenceType | tp_account_get_current_presence ()
TpConnectionPresenceType | tp_account_get_requested_presence ()
TpConnectionPresenceType | tp_account_get_automatic_presence ()
const GHashTable * | tp_account_get_parameters ()
GVariant * | tp_account_dup_parameters_vardict ()
const gchar * | tp_account_get_nickname ()
void | tp_account_set_nickname_async ()
gboolean | tp_account_set_nickname_finish ()
const gchar * | tp_account_get_normalized_name ()
const gchar * const * | tp_account_get_supersedes ()
void | tp_account_get_avatar_async ()
const GArray * | tp_account_get_avatar_finish ()
void | tp_account_set_avatar_async ()
gboolean | tp_account_set_avatar_finish ()
GBinding * | tp_account_bind_connection_status_to_property ()
gboolean | tp_account_is_prepared ()
void | tp_account_prepare_async ()
gboolean | tp_account_prepare_finish ()
const gchar * const * | tp_account_get_uri_schemes ()
gboolean | tp_account_associated_with_uri_scheme ()
void | tp_account_set_uri_scheme_association_async ()
gboolean | tp_account_set_uri_scheme_association_finish ()
const gchar * | tp_account_get_storage_provider ()
const GValue * | tp_account_get_storage_identifier ()
GVariant * | tp_account_dup_storage_identifier_variant ()
TpStorageRestrictionFlags | tp_account_get_storage_restrictions ()
void | tp_account_get_storage_specific_information_async ()
GHashTable * | tp_account_get_storage_specific_information_finish ()
void | tp_account_dup_storage_specific_information_vardict_async ()
GVariant * | tp_account_dup_storage_specific_information_vardict_finish ()
void | ( *tp_cli_account_callback_for_reconnect ) ()
TpProxyPendingCall * | tp_cli_account_call_reconnect ()
void | ( *tp_cli_account_callback_for_remove ) ()
TpProxyPendingCall * | tp_cli_account_call_remove ()
void | ( *tp_cli_account_callback_for_update_parameters ) ()
TpProxyPendingCall * | tp_cli_account_call_update_parameters ()
void | ( *tp_cli_account_signal_callback_account_property_changed ) ()
TpProxySignalConnection * | tp_cli_account_connect_to_account_property_changed ()
void | ( *tp_cli_account_signal_callback_removed ) ()
TpProxySignalConnection * | tp_cli_account_connect_to_removed ()
void | ( *tp_cli_account_interface_avatar_signal_callback_avatar_changed ) ()
TpProxySignalConnection * | tp_cli_account_interface_avatar_connect_to_avatar_changed ()
void | ( *tp_cli_account_interface_addressing_callback_for_set_uri_scheme_association ) ()
TpProxyPendingCall * | tp_cli_account_interface_addressing_call_set_uri_scheme_association ()

## Properties

guint | automatic-presence-type | Read
gchar * | automatic-status | Read
gchar * | automatic-status-message | Read
gboolean | changing-presence | Read
gchar * | cm-name | Read
gboolean | connect-automatically | Read
TpConnection * | connection | Read
gchar * | connection-error | Read
GHashTable * | connection-error-details | Read
gchar * | connection-manager | Read
guint | connection-status | Read
guint | connection-status-reason | Read
guint | current-presence-type | Read
gchar * | current-status | Read
gchar * | current-status-message | Read
gchar * | display-name | Read
gboolean | enabled | Read
gboolean | has-been-online | Read
gchar * | icon-name | Read
gchar * | nickname | Read
gchar * | normalized-name | Read
gchar * | protocol | Read
gchar * | protocol-name | Read
guint | requested-presence-type | Read
gchar * | requested-status | Read
gchar * | requested-status-message | Read
gchar * | service | Read
GValue * | storage-identifier | Read
GVariant * | storage-identifier-variant | Read
gchar * | storage-provider | Read
guint | storage-restrictions | Read
GStrv | supersedes | Read
GStrv | uri-schemes | Read
gboolean | valid | Read

## Signals

void | avatar-changed | Run Last
void | presence-changed | Run Last
void | status-changed | Run Last

## Types and Values

| TpAccount
struct | TpAccountClass
#define | TP_ACCOUNT_FEATURE_CORE
#define | TP_ACCOUNT_FEATURE_CONNECTION
#define | TP_ACCOUNT_FEATURE_ADDRESSING
#define | TP_ACCOUNT_FEATURE_STORAGE

## Object Hierarchy

        GObject
        ╰── TpProxy
            ╰── TpAccount

## Includes

    #include <telepathy-glib/telepathy-glib.h>

## Description

The Telepathy Account Manager stores the user's configured real-time communication accounts. The TpAccount object represents a stored account.

## Functions

### tp_account_new ()

    TpAccount *
    tp_account_new (TpDBusDaemon *bus_daemon,
                    const gchar *object_path,
                    GError **error);

`tp_account_new` is deprecated and should not be used in newly-written code.

Use `tp_simple_client_factory_ensure_account()` instead.

Convenience function to create a new account proxy. The returned TpAccount is not guaranteed to be ready at the point of return.

#### Parameters

bus_daemon | Proxy for the D-Bus daemon |
object_path | The non-NULL object path of this account |
error | Used to raise an error if `object_path` is not valid |

#### Returns

a new reference to an account proxy, or `NULL` if `object_path` is not valid

### tp_account_init_known_interfaces ()

    void
    tp_account_init_known_interfaces (void);

Ensure that the known interfaces for TpAccount have been set up. This is done automatically when necessary, but for correct overriding of library interfaces by local extensions, you should call this function before calling `tp_proxy_or_subclass_hook_on_interface_add()` with first argument `TP_TYPE_ACCOUNT`.

Since 0.7.32

### tp_account_parse_object_path ()

    gboolean
    tp_account_parse_object_path (const gchar *object_path,
                                  gchar **cm,
                                  gchar **protocol,
                                  gchar **account_id,
                                  GError **error);

`tp_account_parse_object_path` is deprecated and should not be used in newly-written code.

Use `tp_account_get_protocol()` and `tp_account_get_connection_manager()` instead.

Validates and parses a Telepathy Account's object path, extracting the connection manager's name, the protocol, and the account's unique identifier from the path. This includes replacing underscores with hyphens in the protocol name, as defined in the Account specification.

Any of the out parameters may be `NULL` if not needed. If `TRUE` is returned, the caller is responsible for freeing the strings stored in any non-`NULL` out parameters, using `g_free()`.

#### Parameters

object_path | a Telepathy Account's object path |
cm | location at which to store the account's connection manager's name. | [out][transfer full]
protocol | location at which to store the account's protocol. | [out][transfer full]
account_id | location at which to store the account's unique identifier. | [out][transfer full]
error | location at which to return an error |

#### Returns

`TRUE` if `object_path` was successfully parsed; `FALSE` and sets `error` otherwise.

Since 0.9.0

### tp_account_get_path_suffix ()

    const gchar *
    tp_account_get_path_suffix (TpAccount *account);

Returns the portion of `account` 's object path after the standard TP_ACCOUNT_OBJECT_PATH_BASE prefix, of the form "cm/protocol/acct". This string uniquely identifies the account.

This function is only intended to be used when printing debug messages or in tools for developer. For a string suitable for displaying to the user, see `tp_account_get_display_name()`. To retrieve the connection manager and protocol name parts of the object path, see `tp_account_get_connection_manager()` and `tp_account_get_protocol()`. For persistent identification of the account, use `tp_proxy_get_object_path()`.

#### Parameters

account | a TpAccount |

#### Returns

a suffix of `account` 's object path, for debugging purposes.

Since 0.13.9

### tp_account_get_connection ()

    TpConnection *
    tp_account_get_connection (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “connection” property.

[transfer none]

Since 0.9.0

### tp_account_ensure_connection ()

    TpConnection *
    tp_account_ensure_connection (TpAccount *account,
                                  const gchar *path);

`tp_account_ensure_connection` is deprecated and should not be used in newly-written code.

New code should use `tp_simple_client_factory_ensure_connection()` instead.

Set the connection of the account by specifying the connection object path. This function does not return a new ref and it is not guaranteed that the returned TpConnection object is ready.

The use-case for this function is in a HandleChannels callback and you already know the object path for the connection, so you can let `account` create its TpConnection and return it for use.

#### Parameters

account | a TpAccount |
path | the path to connection object for TpAccount |

#### Returns

the connection of the account, or `NULL` if either the object path `path` is invalid or it is the null-value "/".

[transfer none]

Since 0.9.0

### tp_account_get_display_name ()

    const gchar *
    tp_account_get_display_name (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “display-name” property

Since 0.9.0

### tp_account_get_connection_manager ()

    const gchar *
    tp_account_get_connection_manager (TpAccount *account);

`tp_account_get_connection_manager` is deprecated and should not be used in newly-written code.

Use `tp_account_get_cm_name()` instead.

#### Parameters

account | a TpAccount |

#### Returns

the same as the “connection-manager” property

Since 0.9.0

### tp_account_get_cm_name ()

    const gchar *
    tp_account_get_cm_name (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “cm-name” property

Since 0.19.3

### tp_account_get_protocol ()

    const gchar *
    tp_account_get_protocol (TpAccount *account);

`tp_account_get_protocol` is deprecated and should not be used in newly-written code.

Use `tp_account_get_cm_name()` instead.

#### Parameters

account | a TpAccount |

#### Returns

the same as the “protocol” property

Since 0.9.0

### tp_account_get_protocol_name ()

    const gchar *
    tp_account_get_protocol_name (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “protocol-name” property

Since 0.19.3

### tp_account_get_icon_name ()

    const gchar *
    tp_account_get_icon_name (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “icon-name” property

Since 0.9.0

### tp_account_get_service ()

    const gchar *
    tp_account_get_service (TpAccount *self);

#### Parameters

self | an account |

#### Returns

the same as the “service” property

Since 0.11.9

### tp_account_set_enabled_async ()

    void
    tp_account_set_enabled_async (TpAccount *account,
                                  gboolean enabled,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Requests an asynchronous set of the Enabled property of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_enabled_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
enabled | the new enabled value of `account` |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_set_enabled_finish ()

    gboolean
    tp_account_set_enabled_finish (TpAccount *account,
                                   GAsyncResult *result,
                                   GError **error);

Finishes an async set of the Enabled property.

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the set was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_reconnect_async ()

    void
    tp_account_reconnect_async (TpAccount *account,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Requests an asynchronous reconnect of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_reconnect_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_reconnect_finish ()

    gboolean
    tp_account_reconnect_finish (TpAccount *account,
                                 GAsyncResult *result,
                                 GError **error);

Finishes an async reconnect of `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to be filled |

#### Returns

`TRUE` if the reconnect call was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_is_enabled ()

    gboolean
    tp_account_is_enabled (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “enabled” property

Since 0.9.0

### tp_account_is_valid ()

    gboolean
    tp_account_is_valid (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “valid” property

Since 0.9.0

### tp_account_update_parameters_async ()

    void
    tp_account_update_parameters_async (TpAccount *account,
                                        GHashTable *parameters,
                                        const gchar **unset_parameters,
                                        GAsyncReadyCallback callback,
                                        gpointer user_data);

Requests an asynchronous update of parameters of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_update_parameters_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
parameters | new parameters to set on `account` . | [element-type utf8 GObject.Value][transfer none]
unset_parameters | list of parameters to unset on `account` |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_update_parameters_finish ()

    gboolean
    tp_account_update_parameters_finish (TpAccount *account,
                                         GAsyncResult *result,
                                         gchar ***reconnect_required,
                                         GError **error);

Finishes an async update of the parameters on `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
reconnect_required | a GStrv to fill with properties that need a reconnect to take effect. | [out][array zero-terminated=1][transfer full]
error | a GError to fill |

#### Returns

`TRUE` if the request succeeded, otherwise `FALSE`

Since 0.9.0

### tp_account_update_parameters_vardict_async ()

    void
    tp_account_update_parameters_vardict_async
                                   (TpAccount *account,
                                    GVariant *parameters,
                                    const gchar **unset_parameters,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Requests an asynchronous update of parameters of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_update_parameters_finish()` to get the result of the operation.

If `parameters` is a floating reference (see `g_variant_ref_sink()`), ownership of `parameters` is taken by this function. This means you can pass the result of `g_variant_new()` or `g_variant_new_parsed()` directly to this function without additional reference-count management.

#### Parameters

account | a TpAccount |
parameters | a variant of type `G_VARIANT_TYPE_VARDICT` containing new parameters to set on `account` . | [transfer none]
unset_parameters | list of parameters to unset on `account` . | [array zero-terminated=1]
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.17.6

### tp_account_update_parameters_vardict_finish ()

    gboolean
    tp_account_update_parameters_vardict_finish
                                   (TpAccount *account,
                                    GAsyncResult *result,
                                    gchar ***reconnect_required,
                                    GError **error);

Finishes an async update of the parameters on `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
reconnect_required | a GStrv to fill with properties that need a reconnect to take effect. | [out][type GStrv][transfer full]
error | a GError to fill |

#### Returns

`TRUE` if the request succeeded, otherwise `FALSE`

Since 0.17.6

### tp_account_remove_async ()

    void
    tp_account_remove_async (TpAccount *account,
                             GAsyncReadyCallback callback,
                             gpointer user_data);

Requests an asynchronous removal of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_remove_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_remove_finish ()

    gboolean
    tp_account_remove_finish (TpAccount *account,
                              GAsyncResult *result,
                              GError **error);

Finishes an async removal of `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_set_display_name_async ()

    void
    tp_account_set_display_name_async (TpAccount *account,
                                       const gchar *display_name,
                                       GAsyncReadyCallback callback,
                                       gpointer user_data);

Requests an asynchronous set of the DisplayName property of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_display_name_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
display_name | a new display name, or `NULL` to unset the display name |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_set_display_name_finish ()

    gboolean
    tp_account_set_display_name_finish (TpAccount *account,
                                        GAsyncResult *result,
                                        GError **error);

Finishes an async set of the DisplayName property.

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the call was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_set_icon_name_async ()

    void
    tp_account_set_icon_name_async (TpAccount *account,
                                    const gchar *icon_name,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Requests an asynchronous set of the Icon property of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_icon_name_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
icon_name | a new icon name, or `NULL` to unset the icon name |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_set_icon_name_finish ()

    gboolean
    tp_account_set_icon_name_finish (TpAccount *account,
                                     GAsyncResult *result,
                                     GError **error);

Finishes an async set of the Icon parameter.

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_set_service_async ()

    void
    tp_account_set_service_async (TpAccount *self,
                                  const gchar *service,
                                  GAsyncReadyCallback callback,
                                  gpointer user_data);

Requests an asynchronous set of the Service property on `self` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_service_finish()` to get the result of the operation.

#### Parameters

self | a TpAccount |
service | a new service name, or `NULL` or the empty string to unset the service name (which will result in the “service” property becoming the same as “protocol”) |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.11.9

### tp_account_set_service_finish ()

    gboolean
    tp_account_set_service_finish (TpAccount *self,
                                   GAsyncResult *result,
                                   GError **error);

Finishes an async set of the Service parameter.

#### Parameters

self | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.11.9

### tp_account_request_presence_async ()

    void
    tp_account_request_presence_async (TpAccount *account,
                                       TpConnectionPresenceType type,
                                       const gchar *status,
                                       const gchar *message,
                                       GAsyncReadyCallback callback,
                                       gpointer user_data);

Requests an asynchronous change of presence on `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_request_presence_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
type | the requested presence |
status | a status message to set, or `NULL` |
message | a message for the change, or `NULL` |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_request_presence_finish ()

    gboolean
    tp_account_request_presence_finish (TpAccount *account,
                                        GAsyncResult *result,
                                        GError **error);

Finishes an async presence change request on `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_set_automatic_presence_async ()

    void
    tp_account_set_automatic_presence_async
                                   (TpAccount *account,
                                    TpConnectionPresenceType type,
                                    const gchar *status,
                                    const gchar *message,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Requests an asynchronous change of `account` 's automatic presence. When the operation is finished, `callback` will be called. You can then call `tp_account_set_automatic_presence_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
type | the requested presence |
status | a status message to set, or `NULL` |
message | a message for the change, or `NULL` |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.13.8

### tp_account_set_automatic_presence_finish ()

    gboolean
    tp_account_set_automatic_presence_finish
                                   (TpAccount *account,
                                    GAsyncResult *result,
                                    GError **error);

Finishes an asynchronous request to change the automatic presence of `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.13.8

### tp_account_get_connect_automatically ()

    gboolean
    tp_account_get_connect_automatically (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “connect-automatically” property

Since 0.9.0

### tp_account_set_connect_automatically_async ()

    void
    tp_account_set_connect_automatically_async
                                   (TpAccount *account,
                                    gboolean connect_automatically,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Requests an asynchronous set of the ConnectAutomatically property of `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_display_name_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
connect_automatically | new value for the parameter |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_set_connect_automatically_finish ()

    gboolean
    tp_account_set_connect_automatically_finish
                                   (TpAccount *account,
                                    GAsyncResult *result,
                                    GError **error);

Finishes an async set of the ConnectAutomatically property.

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the call was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_get_has_been_online ()

    gboolean
    tp_account_get_has_been_online (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “has-been-online” property

Since 0.9.0

### tp_account_get_connection_status ()

    TpConnectionStatus
    tp_account_get_connection_status (TpAccount *account,
                                      TpConnectionStatusReason *reason);

Gets the connection status and reason from `account` . The two values are the same as the “connection-status” and “connection-status-reason” properties.

#### Parameters

account | a TpAccount |
reason | a TpConnectionStatusReason to fill, or `NULL`. | [out]

#### Returns

the same as the “connection-status” property

Since 0.9.0

### tp_account_get_detailed_error ()

    const gchar *
    tp_account_get_detailed_error (TpAccount *self,
                                   const GHashTable **details);

If the account's connection is not connected, return the D-Bus error name with which it last disconnected or failed to connect (in particular, this is `TP_ERROR_STR_CANCELLED` if it was disconnected by a user request). This is the same as “connection-error”.

If `details` is not `NULL`, it will be used to return additional details about the error (the same as “connection-error-details”).

Otherwise, return `NULL`, without altering `details` .

The returned string and `details` may become invalid when the main loop is re-entered or the account is destroyed.

#### Parameters

self | an account |
details | optionally used to return a map from string to GValue, which must not be modified, destroyed or unreffed by the caller. | [out][allow-none][element-type utf8 GObject.Value][transfer none]

#### Returns

a D-Bus error name, or `NULL`.

[transfer none][allow-none]

Since 0.11.7

### tp_account_dup_detailed_error_vardict ()

    gchar *
    tp_account_dup_detailed_error_vardict (TpAccount *self,
                                           GVariant **details);

If the account's connection is not connected, return the D-Bus error name with which it last disconnected or failed to connect (in particular, this is `TP_ERROR_STR_CANCELLED` if it was disconnected by a user request). This is the same as “connection-error”.

If `details` is not `NULL`, it will be used to return additional details about the error (the same as “connection-error-details”).

Otherwise, return `NULL`, without altering `details` .

The returned string and `details` may become invalid when the main loop is re-entered or the account is destroyed.

#### Parameters

self | an account |
details | optionally used to return a variant of type `G_VARIANT_TYPE_VARDICT`, which must be unreffed by the caller with `g_variant_unref()`. | [out][allow-none][transfer full]

#### Returns

a D-Bus error name, or `NULL`.

[transfer full][allow-none]

Since 0.17.6

### tp_account_get_changing_presence ()

    gboolean
    tp_account_get_changing_presence (TpAccount *self);

#### Parameters

self | an account |

#### Returns

the same as the “changing-presence” property

Since 0.11.6

### tp_account_get_current_presence ()

    TpConnectionPresenceType
    tp_account_get_current_presence (TpAccount *account,
                                     gchar **status,
                                     gchar **status_message);

Gets the current presence, status and status message of `account` . These values are the same as the “current-presence-type”, “current-status” and “current-status-message” properties.

#### Parameters

account | a TpAccount |
status | return location for the current status. | [out][transfer full]
status_message | return location for the current status message. | [out][transfer full]

#### Returns

the same as the “current-presence-type” property

Since 0.9.0

### tp_account_get_requested_presence ()

    TpConnectionPresenceType
    tp_account_get_requested_presence (TpAccount *account,
                                       gchar **status,
                                       gchar **status_message);

Gets the requested presence, status and status message of `account` . These values are the same as the “requested-presence-type”, “requested-status” and “requested-status-message” properties.

#### Parameters

account | a TpAccount |
status | return location for the requested status. | [out][transfer none]
status_message | return location for the requested status message. | [out][transfer full]

#### Returns

the same as the “requested-presence-type” property

Since 0.9.0

### tp_account_get_automatic_presence ()

    TpConnectionPresenceType
    tp_account_get_automatic_presence (TpAccount *self,
                                       gchar **status,
                                       gchar **status_message);

Gets the automatic presence, status and status message of `account` . These values are the same as the “automatic-presence-type”, “automatic-status” and “automatic-status-message” properties, and are the values that will be used if the account should be put online automatically.

#### Parameters

self | an account |
status | return location for the presence status. | [out][transfer none]
status_message | return location for the user-defined message. | [out][transfer full]

#### Returns

the same as the “automatic-presence-type” property

Since 0.13.8

### tp_account_get_parameters ()

    const GHashTable *
    tp_account_get_parameters (TpAccount *account);

Returns the parameters of the account, in a hash table where each string is the parameter name (account, password, require-encryption etc.), and each value is a GValue. Using the tp_asv_get family of functions (`tp_asv_get_uint32()`, `tp_asv_get_string()` etc.) to access the parameters is recommended.

The allowed parameters depend on the connection manager, and can be found via `tp_connection_manager_get_protocol()` and `tp_connection_manager_protocol_get_param()`. Well-known parameters are listed

in the Telepathy D-Bus Interface Specification.

#### Parameters

account | a TpAccount |

#### Returns

the hash table of parameters on `account` .

[transfer none][element-type utf8 GObject.Value]

Since 0.9.0

### tp_account_dup_parameters_vardict ()

    GVariant *
    tp_account_dup_parameters_vardict (TpAccount *account);

Returns the parameters of the account, in a variant of type `G_VARIANT_TYPE_VARDICT` where the keys are parameter names (account, password, require-encryption etc.). Use `g_variant_lookup()` or `g_variant_lookup_value()` for convenient access to the values.

The allowed parameters depend on the connection manager, and can be found via `tp_connection_manager_get_protocol()` and `tp_connection_manager_protocol_get_param()`. Well-known parameters are listed

in the Telepathy D-Bus Interface Specification.

#### Parameters

account | a TpAccount |

#### Returns

the dictionary of parameters on `account` , of type `G_VARIANT_TYPE_VARDICT`.

[transfer full]

Since 0.17.6

### tp_account_get_nickname ()

    const gchar *
    tp_account_get_nickname (TpAccount *account);

#### Parameters

account | a TpAccount |

#### Returns

the same as the “nickname” property

Since 0.9.0

### tp_account_set_nickname_async ()

    void
    tp_account_set_nickname_async (TpAccount *account,
                                   const gchar *nickname,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);

Requests an asynchronous change of the Nickname parameter on `account` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_nickname_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
nickname | a new nickname to set |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_set_nickname_finish ()

    gboolean
    tp_account_set_nickname_finish (TpAccount *account,
                                    GAsyncResult *result,
                                    GError **error);

Finishes an async nickname change request on `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_get_normalized_name ()

    const gchar *
    tp_account_get_normalized_name (TpAccount *self);

#### Parameters

self | a TpAccount |

#### Returns

the same as the “normalized-name” property.

[transfer none]

Since 0.13.8

### tp_account_get_supersedes ()

    const gchar * const *
    tp_account_get_supersedes (TpAccount *self);

Return the same thing as the “supersedes” property, in a way that may be more convenient for C code.

The returned pointers are not guaranteed to remain valid after the main loop has been re-entered.

#### Parameters

self | a TpAccount |

#### Returns

the same as the “supersedes” property.

[transfer none]

Since 0.17.5

### tp_account_get_avatar_async ()

    void
    tp_account_get_avatar_async (TpAccount *account,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);

Requests an asynchronous get of `account` 's avatar. When the operation is finished, `callback` will be called. You can then call `tp_account_get_avatar_finish()` to get the result of the operation.

#### Parameters

account | a TpAccount |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_get_avatar_finish ()

    const GArray *
    tp_account_get_avatar_finish (TpAccount *account,
                                  GAsyncResult *result,
                                  GError **error);

Finishes an async get operation of `account` 's avatar.

Beware that the returned value is only valid until `result` is freed. Copy it with `g_array_ref()` if you need to keep it for longer.

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

a GArray of guchar containing the bytes of the account's avatar, or `NULL` on failure.

[element-type guchar][transfer none]

Since 0.9.0

### tp_account_set_avatar_async ()

    void
    tp_account_set_avatar_async (TpAccount *self,
                                 const guchar *avatar,
                                 gsize len,
                                 const gchar *mime_type,
                                 GAsyncReadyCallback callback,
                                 gpointer user_data);

Requests an asynchronous change of the Avatar parameter on `self` . When the operation is finished, `callback` will be called. You can then call `tp_account_set_avatar_finish()` to get the result of the operation.

If `len` equals 0, the avatar is cleared.

#### Parameters

self | a TpAccount |
avatar | a new avatar to set; can be `NULL` only if `len` equals 0. | [allow-none][array length=len]
len | the length of the new avatar |
mime_type | the MIME type of the new avatar; can be `NULL` only if `len` equals 0. | [allow-none]
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.11.1

### tp_account_set_avatar_finish ()

    gboolean
    tp_account_set_avatar_finish (TpAccount *self,
                                  GAsyncResult *result,
                                  GError **error);

Finishes an async avatar change request on `account` .

#### Parameters

self | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the operation was successful, otherwise `FALSE`

Since 0.11.1

### tp_account_bind_connection_status_to_property ()

    GBinding *
    tp_account_bind_connection_status_to_property
                                   (TpAccount *self,
                                    gpointer target,
                                    const char *target_property,
                                    gboolean invert);

Binds the :connection-status of `self` to the boolean property of another object using a GBinding such that the `target_property` will be set to `TRUE` when `self` is connected (and `invert` is `FALSE`).

`target_property` will be synchronised immediately (`G_BINDING_SYNC_CREATE`). `invert` can be interpreted as analogous to `G_BINDING_INVERT_BOOLEAN`.

For instance, this function can be used to bind the GtkWidget:sensitive property to only make a widget sensitive when the account is connected.

See `g_object_bind_property()` for more information.

#### Parameters

self | a TpAccount |
target | the target GObject |
target_property | the property on `target` to bind (must be `G_TYPE_BOOLEAN`) |
invert | `TRUE` if you wish to invert the value of `target_property` (i.e. `FALSE` if connected) |

#### Returns

the GBinding instance representing the binding between the `self` and the `target` . The binding is released whenever the GBinding reference count reaches zero.

[transfer none]

Since 0.13.16

### tp_account_is_prepared ()

    gboolean
    tp_account_is_prepared (TpAccount *account,
                            GQuark feature);

`tp_account_is_prepared` is deprecated and should not be used in newly-written code.

since 0.23.0, use `tp_proxy_is_prepared()` instead.

#### Parameters

account | a TpAccount |
feature | a feature which is required |

#### Returns

the same thing as `tp_proxy_is_prepared()`

Since 0.9.0

### tp_account_prepare_async ()

    void
    tp_account_prepare_async (TpAccount *account,
                              const GQuark *features,
                              GAsyncReadyCallback callback,
                              gpointer user_data);

`tp_account_prepare_async` is deprecated and should not be used in newly-written code.

since 0.15.6, use `tp_proxy_prepare_async()` instead.

Requests an asynchronous preparation of `account` with the features specified by `features` . When the operation is finished, `callback` will be called. You can then call `tp_account_prepare_finish()` to get the result of the operation.

If `features` is `NULL`, then `callback` will be called when the implied `TP_ACCOUNT_FEATURE_CORE` feature is ready.

If `NULL` is given to `callback` , then no callback will be called when the operation is finished. Instead, it will simply set `features` on `manager` . Note that if `callback` is `NULL`, then `user_data` must also be `NULL`.

Since 0.11.3, this is equivalent to calling the new function `tp_proxy_prepare_async()` with the same arguments.

#### Parameters

account | a TpAccount |
features | a 0-terminated list of features, or `NULL` |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.9.0

### tp_account_prepare_finish ()

    gboolean
    tp_account_prepare_finish (TpAccount *account,
                               GAsyncResult *result,
                               GError **error);

`tp_account_prepare_finish` is deprecated and should not be used in newly-written code.

since 0.15.6, use `tp_proxy_prepare_finish()` instead.

Finishes an async preparation of the account `account` .

#### Parameters

account | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the preparation was successful, otherwise `FALSE`

Since 0.9.0

### tp_account_get_uri_schemes ()

    const gchar * const *
    tp_account_get_uri_schemes (TpAccount *self);

Return the “uri-schemes” property

#### Parameters

self | a TpAccount |

#### Returns

the value of “uri_schemes” property.

[transfer none]

Since 0.13.8

### tp_account_associated_with_uri_scheme ()

    gboolean
    tp_account_associated_with_uri_scheme (TpAccount *self,
                                           const gchar *scheme);

#### Parameters

self | a TpAccount |
scheme | a URI scheme such as "tel", "sip" or "xmpp". | [transfer none]

#### Returns

`TRUE` if the result of `tp_account_get_uri_schemes()` would include `scheme`

Since 0.13.8

### tp_account_set_uri_scheme_association_async ()

    void
    tp_account_set_uri_scheme_association_async
                                   (TpAccount *self,
                                    const gchar *scheme,
                                    gboolean associate,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Add `scheme` to the list of additional URI schemes that would be returned by `tp_account_get_uri_schemes()`, or remove it from that list.

`scheme` should not be the primary URI scheme for the account's protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP), since the account should be assumed to be useful for those schemes regardless of the contents of the list.

Calling this method does not require the `TP_ACCOUNT_FEATURE_ADDRESSING` feature to be enabled, but the change will not be reflected in the result of `tp_account_get_uri_schemes()` or `tp_account_associated_with_uri_scheme()` unless that feature has been enabled.

#### Parameters

self | a TpAccount |
scheme | a non-`NULL` URI scheme such as "tel" |
associate | `TRUE` to use this account for `scheme` , or `FALSE` to not use it |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.13.8

### tp_account_set_uri_scheme_association_finish ()

    gboolean
    tp_account_set_uri_scheme_association_finish
                                   (TpAccount *self,
                                    GAsyncResult *result,
                                    GError **error);

Interpret the result of `tp_account_set_uri_scheme_association_async()`.

#### Parameters

self | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

`TRUE` if the call was successful, otherwise `FALSE`

Since 0.13.8

### tp_account_get_storage_provider ()

    const gchar *
    tp_account_get_storage_provider (TpAccount *self);

#### Parameters

self | a TpAccount |

#### Returns

the same as the “storage-provider” property

Since 0.13.2

### tp_account_get_storage_identifier ()

    const GValue *
    tp_account_get_storage_identifier (TpAccount *self);

#### Parameters

self | a TpAccount |

#### Returns

the same as the “storage-identifier” property

Since 0.13.2

### tp_account_dup_storage_identifier_variant ()

    GVariant *
    tp_account_dup_storage_identifier_variant
                                   (TpAccount *self);

Return provider-specific information used to identify this account. Use `g_variant_get_type()` to check that the type is what you expect; for instance, if the “storage-provider” has string-based user identifiers, this variant should have type `G_VARIANT_TYPE_STRING`.

#### Parameters

self | a TpAccount |

#### Returns

the same as the “storage-identifier-variant” property.

[transfer full]

Since 0.13.2

### tp_account_get_storage_restrictions ()

    TpStorageRestrictionFlags
    tp_account_get_storage_restrictions (TpAccount *self);

#### Parameters

self | a TpAccount |

#### Returns

the same as the “storage-restrictions” property

Since 0.13.2

### tp_account_get_storage_specific_information_async ()

    void
    tp_account_get_storage_specific_information_async
                                   (TpAccount *self,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Makes an asynchronous request of `self` 's StorageSpecificInformation property (part of the Account.Interface.Storage interface).

When the operation is finished, `callback` will be called. You must then call `tp_account_get_storage_specific_information_finish()` to get the result of the request.

#### Parameters

self | a TpAccount |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.13.2

### tp_account_get_storage_specific_information_finish ()

    GHashTable *
    tp_account_get_storage_specific_information_finish
                                   (TpAccount *self,
                                    GAsyncResult *result,
                                    GError **error);

Retrieve the value of the request begun with `tp_account_get_storage_specific_information_async()`.

Beware that the returned value is only valid until `result` is freed. Copy it with `g_hash_table_ref()` if you need to keep it for longer.

#### Parameters

self | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

a GHashTable of strings to GValues representing the D-Bus type a{sv}.

[element-type utf8 GObject.Value][transfer none]

Since 0.13.2

### tp_account_dup_storage_specific_information_vardict_async ()

    void
    tp_account_dup_storage_specific_information_vardict_async
                                   (TpAccount *self,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

Makes an asynchronous request of `self` 's StorageSpecificInformation property (part of the Account.Interface.Storage interface).

When the operation is finished, `callback` will be called. You must then call `tp_account_dup_storage_specific_information_vardict_finish()` to get the result of the request.

#### Parameters

self | a TpAccount |
callback | a callback to call when the request is satisfied |
user_data | data to pass to `callback` |

Since 0.17.6

### tp_account_dup_storage_specific_information_vardict_finish ()

    GVariant *
    tp_account_dup_storage_specific_information_vardict_finish
                                   (TpAccount *self,
                                    GAsyncResult *result,
                                    GError **error);

Retrieve the value of the request begun with `tp_account_dup_storage_specific_information_vardict_async()`.

#### Parameters

self | a TpAccount |
result | a GAsyncResult |
error | a GError to fill |

#### Returns

a map from strings to variants, of type `G_VARIANT_TYPE_VARDICT`.

[transfer full]

Since 0.17.6

### tp_cli_account_callback_for_reconnect ()

    void
    (*tp_cli_account_callback_for_reconnect)
                                   (TpAccount *proxy,
                                    const GError *error,
                                    gpointer user_data,
                                    GObject *weak_object);

Signature of the callback called when a Reconnect method call succeeds or fails.

#### Parameters

proxy | the proxy on which the call was made |
error | `NULL` on success, or an error on failure |
user_data | user-supplied data |
weak_object | user-supplied object |

### tp_cli_account_call_reconnect ()

    TpProxyPendingCall *
    tp_cli_account_call_reconnect (TpAccount *proxy,
                                   gint timeout_ms,
                                   tp_cli_account_callback_for_reconnect callback,
                                   gpointer user_data,
                                   GDestroyNotify destroy,
                                   GObject *weak_object);

Start a Reconnect method call.

<tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Re-connect this account. If the account is currently disconnected and the requested presence is offline, or if the account is not <tp:member-ref>Enabled</tp:member-ref> or not <tp:member-ref>Valid</tp:member-ref>, this does nothing.</p> <p>If the account is disconnected and the requested presence is not offline, this forces an attempt to connect with the requested presence immediately.</p> <p>If the account is connecting or connected, this is equivalent to remembering the current value of <tp:member-ref>RequestedPresence</tp:member-ref>, setting its value to (OFFLINE, &quot;offline&quot;, &quot;&quot;), waiting for the change to take effect, then setting its value to the value that was previously remembered.</p> <tp:rationale> <p>Clients desiring &quot;instant apply&quot; semantics for CM parameters MAY call this method to achieve that.</p> </tp:rationale> <p>In particular, if the account's <tp:member-ref>Connection</tp:member-ref> is in the Connecting state, calling this method causes the attempt to connect to be aborted and re-tried.</p> <tp:rationale> <p>This is necessary to ensure that the new parameters are picked up.</p> </tp:rationale>

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
callback | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking |
user_data | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL` |
destroy | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL` |
weak_object | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL` |

#### Returns

a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_account_callback_for_remove ()

    void
    (*tp_cli_account_callback_for_remove) (TpAccount *proxy,
                                           const GError *error,
                                           gpointer user_data,
                                           GObject *weak_object);

Signature of the callback called when a Remove method call succeeds or fails.

#### Parameters

proxy | the proxy on which the call was made |
error | `NULL` on success, or an error on failure |
user_data | user-supplied data |
weak_object | user-supplied object |

### tp_cli_account_call_remove ()

    TpProxyPendingCall *
    tp_cli_account_call_remove (TpAccount *proxy,
                                gint timeout_ms,
                                tp_cli_account_callback_for_remove callback,
                                gpointer user_data,
                                GDestroyNotify destroy,
                                GObject *weak_object);

Start a Remove method call.

Delete the account.

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
callback | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking |
user_data | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL` |
destroy | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL` |
weak_object | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL` |

#### Returns

a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_account_callback_for_update_parameters ()

    void
    (*tp_cli_account_callback_for_update_parameters)
                                   (TpAccount *proxy,
                                    const gchar **out_Reconnect_Required,
                                    const GError *error,
                                    gpointer user_data,
                                    GObject *weak_object);

Signature of the callback called when a UpdateParameters method call succeeds or fails.

#### Parameters

proxy | the proxy on which the call was made |

out_Reconnect_Required

Used to return an 'out' argument if `error` is `NULL`: <tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>If all of the updates could be applied to the active <tp:member-ref>Connection</tp:member-ref> (if any), the empty list, signifying that no reconnection is required for the new parameters to take effect. For example, if the only parameter updated is <tt>...Cellular.<tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface.Cellular">MessageValidityPeriod</tp:dbus-ref></tt>, the new value can be applied immediately to the connection.</p> <p>Otherwise, a list of the names of parameters with changes that will not take effect until the account is reconnected. User interfaces that require &quot;instant apply&quot; semantics MAY call <tp:member-ref>Reconnect</tp:member-ref> in response to receiving a non-empty list. For example, if the caller updates both <tt>...Anonymity.<tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection.Interface.Anonymity">AnonymityMandatory</tp:dbus-ref></tt> and <tt>require-encryption</tt>, the former can be applied to the current connection, but the latter needs a reconnect to take effect, so this method should return <code>[&quot;require-encryption&quot;]</code>.</p>

error | `NULL` on success, or an error on failure |
user_data | user-supplied data |
weak_object | user-supplied object |

### tp_cli_account_call_update_parameters ()

    TpProxyPendingCall *
    tp_cli_account_call_update_parameters (TpAccount *proxy,
                                           gint timeout_ms,
                                           GHashTable *in_Set,
                                           const gchar **in_Unset,
                                           tp_cli_account_callback_for_update_parameters callback,
                                           gpointer user_data,
                                           GDestroyNotify destroy,
                                           GObject *weak_object);

Start a UpdateParameters method call.

<tp:docstring xmlns="http://www.w3.org/1999/xhtml"> <p>Change the value of the <tp:member-ref>Parameters</tp:member-ref> property.</p> <p>If any of the <var>Set</var> parameters’ <tp:type>Conn_Mgr_Param_Flags</tp:type> include <code>DBus_Property</code>, the change will be applied immediately to the corresponding D-Bus Property on the active <tp:member-ref>Connection</tp:member-ref>, if there is one. If any of the <var>Unset</var> parameters’ <tp:type>Conn_Mgr_Param_Flags</tp:type> include both <code>DBus_Property</code> and <code>Has_Default</code>, the corresponding D-Bus Property on the connection will be set to the default value. Changes to other parameters will not take effect until the next time the account is disconnected and reconnected. (If parameters are explicitly set to their default value, or are unset when previously set to their default value, the account manager MAY decide that no reconnection is necessary to make the change take effect.)</p> <tp:rationale> <p>In general, reconnecting is a destructive operation that shouldn't happen as a side-effect. In particular, migration tools that twiddle the settings of all accounts shouldn't cause an automatic disconnect and reconnect.</p> </tp:rationale>

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
in_Set | Used to pass an 'in' argument: A mapping from parameter names to their values. These parameters should be stored for future use. |
in_Unset | Used to pass an 'in' argument: A list of the names of parameters to be removed from the set of stored values, allowing the default values to be used. If the given parameters were not, in fact, stored, or even if they do not exist at all, the account manager MUST accept this without error. |
callback | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking |
user_data | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL` |
destroy | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL` |
weak_object | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL` |

#### Returns

a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

### tp_cli_account_signal_callback_account_property_changed ()

    void
    (*tp_cli_account_signal_callback_account_property_changed)
                                   (TpAccount *proxy,
                                    GHashTable *arg_Properties,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal AccountPropertyChanged.

#### Parameters

proxy | The proxy on which `tp_cli_account_connect_to_account_property_changed()` was called |
arg_Properties | A map from property names in this namespace (e.g. <tp:member-ref>Nickname</tp:member-ref>) to values. Properties whose values have not changed SHOULD be omitted, but this need not be done. |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_cli_account_connect_to_account_property_changed ()

    TpProxySignalConnection *
    tp_cli_account_connect_to_account_property_changed
                                   (TpAccount *proxy,
                                    tp_cli_account_signal_callback_account_property_changed callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object,
                                    GError **error);

Connect a handler to the signal AccountPropertyChanged.

The values of one or more properties on this interface (that do not specify that this signal does not apply to them) may have changed. This does not cover properties of other interfaces, which must provide their own change notification if appropriate.

#### Parameters

proxy | A TpAccount or subclass |
callback | Callback to be called when the signal is received |
user_data | User-supplied data for the callback |
destroy | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL` |
weak_object | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected |
error | If not `NULL`, used to raise an error if `NULL` is returned |

#### Returns

a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_account_signal_callback_removed ()

    void
    (*tp_cli_account_signal_callback_removed)
                                   (TpAccount *proxy,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal Removed.

#### Parameters

proxy | The proxy on which `tp_cli_account_connect_to_removed()` was called |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_cli_account_connect_to_removed ()

    TpProxySignalConnection *
    tp_cli_account_connect_to_removed (TpAccount *proxy,
                                       tp_cli_account_signal_callback_removed callback,
                                       gpointer user_data,
                                       GDestroyNotify destroy,
                                       GObject *weak_object,
                                       GError **error);

Connect a handler to the signal Removed.

This account has been removed. <tp:rationale> This is redundant with <tp:dbus-ref namespace="org.freedesktop.Telepathy.AccountManager">AccountRemoved</tp:dbus-ref>, but it's still worth having, to avoid having to bind to AccountManager.AccountRemoved to tell you whether your Account is valid — ideally, an account-editing UI should only care about a single Account. </tp:rationale>

#### Parameters

proxy | A TpAccount or subclass |
callback | Callback to be called when the signal is received |
user_data | User-supplied data for the callback |
destroy | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL` |
weak_object | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected |
error | If not `NULL`, used to raise an error if `NULL` is returned |

#### Returns

a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_account_interface_avatar_signal_callback_avatar_changed ()

    void
    (*tp_cli_account_interface_avatar_signal_callback_avatar_changed)
                                   (TpAccount *proxy,
                                    gpointer user_data,
                                    GObject *weak_object);

Represents the signature of a callback for the signal AvatarChanged.

#### Parameters

proxy | The proxy on which `tp_cli_account_interface_avatar_connect_to_avatar_changed()` was called |
user_data | User-supplied data |
weak_object | User-supplied weakly referenced object |

### tp_cli_account_interface_avatar_connect_to_avatar_changed ()

    TpProxySignalConnection *
    tp_cli_account_interface_avatar_connect_to_avatar_changed
                                   (TpAccount *proxy,
                                    tp_cli_account_interface_avatar_signal_callback_avatar_changed callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object,
                                    GError **error);

Connect a handler to the signal AvatarChanged.

Emitted when the Avatar property changes. <tp:rationale>The avatar itself is deliberately not included in this signal, to reduce bus traffic in the (likely common) case where no running application cares about the user's own avatar.</tp:rationale>

#### Parameters

proxy | A TpAccount or subclass |
callback | Callback to be called when the signal is received |
user_data | User-supplied data for the callback |
destroy | Destructor for the user-supplied data, which will be called when this signal is disconnected, or before this function returns `NULL` |
weak_object | A GObject which will be weakly referenced; if it is destroyed, this callback will automatically be disconnected |
error | If not `NULL`, used to raise an error if `NULL` is returned |

#### Returns

a TpProxySignalConnection containing all of the above, which can be used to disconnect the signal; or `NULL` if the proxy does not have the desired interface or has become invalid.

### tp_cli_account_interface_addressing_callback_for_set_uri_scheme_association ()

    void
    (*tp_cli_account_interface_addressing_callback_for_set_uri_scheme_association)
                                   (TpAccount *proxy,
                                    const GError *error,
                                    gpointer user_data,
                                    GObject *weak_object);

Signature of the callback called when a SetURISchemeAssociation method call succeeds or fails.

#### Parameters

proxy | the proxy on which the call was made |
error | `NULL` on success, or an error on failure |
user_data | user-supplied data |
weak_object | user-supplied object |

### tp_cli_account_interface_addressing_call_set_uri_scheme_association ()

    TpProxyPendingCall *
    tp_cli_account_interface_addressing_call_set_uri_scheme_association
                                   (TpAccount *proxy,
                                    gint timeout_ms,
                                    const gchar *in_URI_Scheme,
                                    gboolean in_Association,
                                    tp_cli_account_interface_addressing_callback_for_set_uri_scheme_association callback,
                                    gpointer user_data,
                                    GDestroyNotify destroy,
                                    GObject *weak_object);

Start a SetURISchemeAssociation method call.

<p>Associate (or disassociate) an account with a particular URI addressing scheme, (such as 'tel' for telephony)</p>

#### Parameters

proxy | the TpProxy |
timeout_ms | the timeout in milliseconds, or -1 to use the default |
in_URI_Scheme | Used to pass an 'in' argument: <p>URI scheme to associate/disassociate the account with/from</p> |
in_Association | Used to pass an 'in' argument: <p>True to associate this account with a given addressing scheme</p> <p>False if the account should not be associated with said scheme</p> |
callback | called when the method call succeeds or fails; may be `NULL` to make a "fire and forget" call with no reply tracking |
user_data | user-supplied data passed to the callback; must be `NULL` if `callback` is `NULL` |
destroy | called with the user_data as argument, after the call has succeeded, failed or been cancelled; must be `NULL` if `callback` is `NULL` |
weak_object | If not `NULL`, a GObject which will be weakly referenced; if it is destroyed, this call will automatically be cancelled. Must be `NULL` if `callback` is `NULL` |

#### Returns

a TpProxyPendingCall representing the call in progress. It is borrowed from the object, and will become invalid when the callback is called, the call is cancelled or the TpProxy becomes invalid.

## Types and Values

### TpAccount

    typedef struct _TpAccount TpAccount;

The Telepathy Account Manager stores the user's configured real-time communication accounts. This object represents a stored account.

If this account is deleted from the account manager, the “invalidated” signal will be emitted with the domain `TP_DBUS_ERRORS` and the error code `TP_DBUS_ERROR_OBJECT_REMOVED`.

One can connect to the “notify” signal to get change notifications for many of the properties on this object. Refer to each property's documentation for whether it can be used in this way.

TpAccount objects should normally be obtained from the TpAccountManager.

Since 0.16, TpAccount always has a non-`NULL` “factory”, and its “factory” will be propagated to its TpConnection (if any). If a TpAccount is created without going via the TpAccountManager or specifying a “factory”, the default is to use a new TpAutomaticClientFactory.

Since 0.7.32

### struct TpAccountClass

    struct TpAccountClass {
    };

The class of a TpAccount.

### TP_ACCOUNT_FEATURE_CORE

    #define             TP_ACCOUNT_FEATURE_CORE

Expands to a call to a function that returns a quark for the "core" feature on a TpAccount.

When this feature is prepared, the basic properties of the Account have been retrieved and are available for use, and change-notification has been set up.

One can ask for a feature to be prepared using the `tp_proxy_prepare_async()` function, and waiting for it to callback.

Since 0.9.0

### TP_ACCOUNT_FEATURE_CONNECTION

    #define             TP_ACCOUNT_FEATURE_CONNECTION

Expands to a call to a function that returns a quark for the "connection" feature on a TpAccount.

When this feature is prepared, it is guaranteed that “connection” will always be either `NULL` or prepared. The account's “factory” will be used to create the TpConnection object and to determine its desired connection features. Change notification of the “connection” property will be delayed until all features (at least `TP_CONNECTION_FEATURE_CORE`) are prepared. See `tp_simple_client_factory_add_account_features()` to define which features needs to be prepared.

One can ask for a feature to be prepared using the `tp_proxy_prepare_async()` function, and waiting for it to callback.

Since 0.15.5

### TP_ACCOUNT_FEATURE_ADDRESSING

    #define             TP_ACCOUNT_FEATURE_ADDRESSING

Expands to a call to a function that returns a quark for the "addressing" feature on a TpAccount.

When this feature is prepared, the list of URI schemes from Account.Interface.Addressing has been retrieved and is available for use.

One can ask for a feature to be prepared using the `tp_proxy_prepare_async()` function, and waiting for it to callback.

Since 0.13.8

### TP_ACCOUNT_FEATURE_STORAGE

    #define             TP_ACCOUNT_FEATURE_STORAGE

Expands to a call to a function that returns a quark for the "storage" feature on a TpAccount.

When this feature is prepared, the Account.Interface.Storage properties have been retrieved and are available for use.

One can ask for a feature to be prepared using the `tp_proxy_prepare_async()` function, and waiting for it to callback.

Since 0.13.2

## Property Details

### The `“automatic-presence-type”` property

      “automatic-presence-type”  guint

The account's automatic presence type (a TpConnectionPresenceType).

When the account is put online automatically, for instance to make a channel request or because network connectivity becomes available, the automatic presence type, status and message will be copied to their "requested" counterparts.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for automatic-presence-type, automatic-status and automatic-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `TP_CONNECTION_PRESENCE_TYPE_UNSET`.

Flags: Read

Allowed values: <= 9

Default value: 0

Since 0.13.8

### The `“automatic-status”` property

      “automatic-status”         gchar *

The string status name to use in conjunction with the “automatic-presence-type”.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for automatic-presence-type, automatic-status and automatic-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.13.8

### The `“automatic-status-message”` property

      “automatic-status-message” gchar *

The user-defined message to use in conjunction with the “automatic-presence-type”.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for automatic-presence-type, automatic-status and automatic-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.13.8

### The `“changing-presence”` property

      “changing-presence”        gboolean

`TRUE` if an attempt is currently being made to change the account's presence (“current-presence-type”, “current-status” and “current-status-message”) to match its requested presence (“requested-presence-type”, “requested-status” and “requested-status-message”).

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `FALSE`.

Flags: Read

Default value: FALSE

Since 0.11.6

### The `“cm-name”` property

      “cm-name”                  gchar *

The account's connection manager name.

Flags: Read

Default value: NULL

Since 0.19.3

### The `“connect-automatically”` property

      “connect-automatically”    gboolean

Whether the account should connect automatically or not. To change this property, use `tp_account_set_connect_automatically_async()`.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `FALSE`.

Flags: Read

Default value: FALSE

Since 0.9.0

### The `“connection”` property

      “connection”               TpConnection *

The connection of the account, or `NULL` if account is offline. Note that the returned TpConnection is not guaranteed to have any features pre-prepared (not even `TP_CONNECTION_FEATURE_CORE`) unless `TP_ACCOUNT_FEATURE_CONNECTION` has been prepared on the account

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. If `TP_ACCOUNT_FEATURE_CONNECTION` has been prepared, this signal will be delayed until the connection is ready.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Since 0.9.0

### The `“connection-error”` property

      “connection-error”         gchar *

The D-Bus error name for the last disconnection or connection failure, (in particular, `TP_ERROR_STR_CANCELLED` if it was disconnected by user request), or `NULL` if the account is connected.

One can receive change notifications on this property by connecting to the “status-changed” signal, or by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.11.7

### The `“connection-error-details”` property

      “connection-error-details” GHashTable *

A map from string to GValue containing extensible error details related to “connection-error”. Functions like `tp_asv_get_string()` can be used to read from this map.

The keys for this map are defined by

the Telepathy D-Bus Interface Specification. They will typically include

`debug-message`, which is a debugging message in the C locale, analogous to GError.message.

One can receive change notifications on this property by connecting to the “status-changed” signal, or by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is an empty map.

Flags: Read

Since 0.11.7

### The `“connection-manager”` property

      “connection-manager”       gchar *

The account's connection manager name.

`TpAccount:connection-manager` is deprecated and should not be used in newly-written code.

Use “cm-name” instead.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“connection-status”` property

      “connection-status”        guint

The account's connection status type (a `TpConnectionStatus`).

One can receive change notifications on this property by connecting to the “status-changed” signal, or by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `TP_CONNECTION_STATUS_DISCONNECTED`.

Flags: Read

Allowed values: <= 3

Default value: 2

Since 0.9.0

### The `“connection-status-reason”` property

      “connection-status-reason” guint

The account's connection status reason (a `TpConnectionStatusReason`).

One can receive change notifications on this property by connecting to the “status-changed” signal, or by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED`.

Flags: Read

Allowed values: <= 17

Default value: 0

Since 0.9.0

### The `“current-presence-type”` property

      “current-presence-type”    guint

The account connection's current presence type (a `TpConnectionPresenceType`).

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for current-presence-type, current-status and current-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `TP_CONNECTION_PRESENCE_TYPE_UNSET`.

Flags: Read

Allowed values: <= 9

Default value: 0

Since 0.9.0

### The `“current-status”` property

      “current-status”           gchar *

The current Status string of the account.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for current-presence-type, current-status and current-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“current-status-message”` property

      “current-status-message”   gchar *

The current status message message of the account.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for current-presence-type, current-status and current-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“display-name”` property

      “display-name”             gchar *

The account's display name, from the DisplayName property.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“enabled”` property

      “enabled”                  gboolean

Whether this account is enabled or not.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is FALSE.

Flags: Read

Default value: FALSE

Since 0.9.0

### The `“has-been-online”` property

      “has-been-online”          gboolean

Whether this account has been online or not.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `FALSE`.

Flags: Read

Default value: FALSE

Since 0.9.0

### The `“icon-name”` property

      “icon-name”                gchar *

The account's icon name. To change this propery, use `tp_account_set_icon_name_async()`.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“nickname”` property

      “nickname”                 gchar *

The nickname that should be set for the user on this account.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“normalized-name”` property

      “normalized-name”          gchar *

The normalized form of the user's own unique identifier on this protocol. For example, on XMPP accounts this is the user's JID; on ICQ this is the user's UIN; and so on.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.13.8

### The `“protocol”` property

      “protocol”                 gchar *

The account's machine-readable protocol name, such as "jabber", "msn" or "local-xmpp". Recommended names for most protocols can be found in the Telepathy D-Bus Interface Specification.

`TpAccount:protocol` is deprecated and should not be used in newly-written code.

Use “protocol-name” instead.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“protocol-name”` property

      “protocol-name”            gchar *

The account's machine-readable protocol name, such as "jabber", "msn" or "local-xmpp". Recommended names for most protocols can be found in the Telepathy D-Bus Interface Specification.

Flags: Read

Default value: NULL

Since 0.19.3

### The `“requested-presence-type”` property

      “requested-presence-type”  guint

The account's requested presence type (a TpConnectionPresenceType).

Since 0.13.8, one can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for requested-presence-type, requested-status and requested-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Allowed values: <= 9

Default value: 0

Since 0.9.0

### The `“requested-status”` property

      “requested-status”         gchar *

The requested Status string of the account.

Since 0.13.8, one can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for requested-presence-type, requested-status and requested-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“requested-status-message”` property

      “requested-status-message” gchar *

The requested status message message of the account.

Since 0.13.8, one can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail. Change notifications for requested-presence-type, requested-status and requested-status-message are always emitted together, so it is sufficient to connect to one of the notification signals.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.9.0

### The `“service”` property

      “service”                  gchar *

A machine-readable name identifying a specific service to which this account connects, or a copy of “protocol” if there is no more specific service.

Well-known names for various services can be found in the Telepathy D-Bus Interface Specification.

For instance, accounts for the "jabber" protocol should have the service names "google-talk", "ovi-chat", "facebook" and "lj-talk" for accounts that connect to Google Talk, Ovi Chat, Facebook and Livejournal, respectively, and this property will be "jabber" for accounts that connect to a generic Jabber server.

To change this property, use `tp_account_set_service_async()`.

Flags: Read

Default value: NULL

Since 0.11.9

### The `“storage-identifier”` property

      “storage-identifier”       GValue *

The storage identifier for this account.

A provider-specific variant type used to identify this account with the provider. This value will be `NULL` if “storage-provider” is an empty string.

This property cannot change once an Account has been created.

This is not guaranteed to have been retrieved until the `TP_ACCOUNT_FEATURE_STORAGE` feature has been prepared; until then, the value is `NULL`.

Flags: Read

Since 0.13.2

### The `“storage-identifier-variant”` property

      “storage-identifier-variant” GVariant *

Provider-specific information used to identify this account. Use `g_variant_get_type()` to check that the type is what you expect. For instance, if you use a “storage-provider” with numeric identifiers for accounts, this variant might have type `G_VARIANT_TYPE_UINT32`; if the storage provider has string-based identifiers, it should have type `G_VARIANT_TYPE_STRING`.

This property cannot change once an Account has been created.

This is not guaranteed to have been retrieved until the `TP_ACCOUNT_FEATURE_STORAGE` feature has been prepared; until then, the value is `NULL`.

Flags: Read

Allowed values: GVariant<*>

Default value: NULL

Since 0.13.2

### The `“storage-provider”` property

      “storage-provider”         gchar *

The storage provider for this account.

The name of the account storage implementation. When this is the empty string the account is internally stored.

This property cannot change once an Account has been created.

This is not guaranteed to have been retrieved until the `TP_ACCOUNT_FEATURE_STORAGE` feature has been prepared; until then, the value is `NULL`.

Flags: Read

Default value: NULL

Since 0.13.2

### The `“storage-restrictions”` property

      “storage-restrictions”     guint

The storage restrictions for this account.

A bitfield of TpStorageRestrictionFlags that give the limitations of this account imposed by the storage provider. This value will be 0 if “storage-provider” is an empty string.

This property cannot change once an Account has been created.

This is not guaranteed to have been retrieved until the `TP_ACCOUNT_FEATURE_STORAGE` feature has been prepared; until then, the value is 0.

Flags: Read

Default value: 0

Since 0.13.2

### The `“supersedes”` property

      “supersedes”               GStrv

The object paths of previously-active accounts superseded by this one. For instance, this can be used in a logger to read old logs for an account that has been migrated from one connection manager to another.

This is not guaranteed to have been retrieved until the `TP_ACCOUNT_FEATURE_CORE` feature has been prepared; until then, the value is NULL.

Flags: Read

Since 0.17.5

### The `“uri-schemes”` property

      “uri-schemes”              GStrv

If the `TP_ACCOUNT_FEATURE_ADDRESSING` feature has been prepared successfully, a list of additional URI schemes for which this account should be used if possible. Otherwise `NULL`.

For instance, a SIP or Skype account might have "tel" in this list if the user would like to use that account to call phone numbers.

This list should not contain the primary URI scheme(s) for the account's protocol (for instance, "xmpp" for XMPP, or "sip" or "sips" for SIP), since it should be assumed to be useful for those schemes in any case.

The notify::uri-schemes signal cannot be relied on if the Account Manager is Mission Control version 5.14.0 or older.

Flags: Read

Since 0.21.0

### The `“valid”` property

      “valid”                    gboolean

Whether this account is valid.

One can receive change notifications on this property by connecting to the “notify” signal and using this property as the signal detail.

This is not guaranteed to have been retrieved until `tp_proxy_prepare_async()` has finished; until then, the value is `FALSE`.

Flags: Read

Default value: FALSE

Since 0.9.0

## Signal Details

### The `“avatar-changed”` signal

    void
    user_function (TpAccount *self,
                   gpointer   user_data)

Emitted when the avatar changes. Call `tp_account_get_avatar_async()` to get the new avatar data.

#### Parameters

self | a TpAccount |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 0.23.0

### The `“presence-changed”` signal

    void
    user_function (TpAccount *account,
                   guint      presence,
                   gchar     *status,
                   gchar     *status_message,
                   gpointer   user_data)

Emitted when the presence of the account changes.

#### Parameters

account | the TpAccount |
presence | the new presence |
status | the new presence status |
status_message | the new presence status message |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 0.9.0

### The `“status-changed”` signal

    void
    user_function (TpAccount  *account,
                   guint       old_status,
                   guint       new_status,
                   guint       reason,
                   gchar      *dbus_error_name,
                   GHashTable *details,
                   gpointer    user_data)

Emitted when the connection status on the account changes.

The `dbus_error_name` and `details` parameters were present, but non-functional (always `NULL`), in older versions. They have been available with their current behaviour since version 0.11.7.

#### Parameters

account | the TpAccount |
old_status | old “connection-status” |
new_status | new “connection-status” |
reason | the “connection-status-reason” |
dbus_error_name | the “connection-error”. | [allow-none]
details | the “connection-error-details”. | [element-type utf8 GObject.Value]
user_data | user data set when the signal handler was connected. |

Flags: Run Last

Since 0.9.0

## See Also

TpAccountManager