### Function

# CM utils_get_homeserver_async

since: 0.0.2

#### Declaration [src]

    void
    cm_utils_get_homeserver_async (
      const char* username,
      uint timeout,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description [src]

Get homeserver from the given `username`. `username` should be in complete form (eg: `user`:example.org)

`timeout` is clamped between 5 and 60 seconds.

This is a network operation and shall connect to the network to fetch homeserver details.

See https://matrix.org/docs/spec/client_server/r0.6.1#server-discovery.

Available since: 0.0.2

#### Parameters

`username`

  Type: `const char*`

  A matrix id.

  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`timeout`

  Type: `uint`

  Timeout in seconds.

`cancellable`

  Type: `GCancellable`

  A `GCancellable`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.

`callback`

  Type: `GAsyncReadyCallback`

  The callback to run.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  The data passed to `callback`.

  The argument can be `NULL`.
  The data is owned by the caller of the function.