## GoaClient GoaClient — Object for accessing account information |

## Functions

void | goa_client_new ()
GoaClient * | goa_client_new_finish ()
GoaClient * | goa_client_new_sync ()
GoaManager * | goa_client_get_manager ()
GList * | goa_client_get_accounts ()
GDBusObjectManager * | goa_client_get_object_manager ()
GoaObject * | goa_client_lookup_by_id ()

## Properties

GDBusObjectManager * | object-manager | Read

## Signals

void | account-added | Run Last
void | account-changed | Run Last
void | account-removed | Run Last

## Types and Values

| GoaClient

## Object Hierarchy

        GObject
        ╰── GoaClient

## Implemented Interfaces

GoaClient implements GInitable and GAsyncInitable.

## Description

GoaClient is used for accessing the GNOME Online Accounts service from a client program.

## Functions

### goa_client_new ()

    void
    goa_client_new (GCancellable *cancellable,
                    GAsyncReadyCallback callback,
                    gpointer user_data);

Asynchronously gets a GoaClient. When the operation is finished, `callback` will be invoked in the thread-default main loop of the thread you are calling this method from.

#### Parameters

cancellable | A GCancellable or `NULL`. |
callback | Function that will be called when the result is ready. |
user_data | Data to pass to `callback` . |

### goa_client_new_finish ()

    GoaClient *
    goa_client_new_finish (GAsyncResult *res,
                           GError **error);

Finishes an operation started with `goa_client_new()`.

#### Parameters

res | A GAsyncResult. |
error | Return location for error or `NULL`. |

#### Returns

A GoaClient or `NULL` if `error` is set. Free with `g_object_unref()` when done with it.

### goa_client_new_sync ()

    GoaClient *
    goa_client_new_sync (GCancellable *cancellable,
                         GError **error);

Synchronously gets a GoaClient for the local system.

#### Parameters

cancellable | A GCancellable or `NULL`. | [allow-none]
error | Return location for error or `NULL`. | [allow-none]

#### Returns

A GoaClient or `NULL` if `error` is set. Free with `g_object_unref()` when done with it.

### goa_client_get_manager ()

    GoaManager *
    goa_client_get_manager (GoaClient *self);

Gets the GoaManager for `self` .

#### Parameters

self | A GoaClient. |

#### Returns

A GoaManager. Do not free, the returned object belongs to `self` .

[transfer none]

### goa_client_get_accounts ()

    GList *
    goa_client_get_accounts (GoaClient *self);

Gets all accounts that `self` knows about. The result is a list of GoaObject instances where each object at least has an GoaAccount interface (that can be obtained via the `goa_object_get_account()` method) but may also implement other interfaces such as GoaMail or GoaFiles.

#### Parameters

self | A GoaClient. |

#### Returns

A list of GoaObject instances that must be freed with `g_list_free()` after each element has been freed with `g_object_unref()`.

[transfer full][element-type GoaObject]

### goa_client_get_object_manager ()

    GDBusObjectManager *
    goa_client_get_object_manager (GoaClient *self);

Gets the GDBusObjectManager used by `self` .

#### Parameters

self | A GoaClient. |

#### Returns

A GDBusObjectManager. Do not free, the instance is owned by `self` .

[transfer none]

### goa_client_lookup_by_id ()

    GoaObject *
    goa_client_lookup_by_id (GoaClient *self,
                             const gchar *id);

Finds and returns the GoaObject instance whose "Id" D-Bus property matches `id` .

#### Parameters

self | A GoaClient. |
id | The ID to look for. |

#### Returns

A GoaObject. Free the returned object with `g_object_unref()`.

[transfer full]

Since: 3.6

## Types and Values

### GoaClient

    typedef struct _GoaClient GoaClient;

The GoaClient structure contains only private data and should only be accessed using the provided API.

## Property Details

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

      “object-manager”           GDBusObjectManager *

The GDBusObjectManager used by the GoaClient instance.

Flags: Read

## Signal Details

### The `“account-added”` signal

    void
    user_function (GoaClient *client,
                   GoaObject *object,
                   gpointer   user_data)

Emitted when `object` has been added. See `goa_client_get_accounts()` for information about how to use this object.

#### Parameters

client | The GoaClient object emitting the signal. |
object | The GoaObject for the added account. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

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

    void
    user_function (GoaClient *client,
                   GoaObject *object,
                   gpointer   user_data)

Emitted when something on `object` changes.

#### Parameters

client | The GoaClient object emitting the signal. |
object | The GoaObject for the account with changes. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“account-removed”` signal

    void
    user_function (GoaClient *client,
                   GoaObject *object,
                   gpointer   user_data)

Emitted when `object` has been removed.

#### Parameters

client | The GoaClient object emitting the signal. |
object | The GoaObject for the removed account. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last