### Function

# Gio SimpleAsyncResult is_valid

deprecated: 2.46 since: 2.20

#### Declaration [src]

    gboolean
    g_simple_async_result_is_valid (
      GAsyncResult* result,
      GObject* source,
      gpointer source_tag
    )

#### Description [src]

Ensures that the data passed to the _finish function of an async operation is consistent. Three checks are performed.

First, `result` is checked to ensure that it is really a `GSimpleAsyncResult`. Second, `source` is checked to ensure that it matches the source object of `result`. Third, `source_tag` is checked to ensure that it is equal to the `source_tag` argument given to `g_simple_async_result_new()` (which, by convention, is a pointer to the _async function corresponding to the _finish function from which this function is called). (Alternatively, if either `source_tag` or `result`‘s source tag is `NULL`, then the source tag check is skipped.).

Available since: 2.20

Deprecated since: 2.46

Use `GTask` and `g_task_is_valid()` instead.

#### Parameters

`result`

  Type: `GAsyncResult`

  The `GAsyncResult` passed to the _finish function.

  The data is owned by the caller of the function.

`source`

  Type: `GObject`

  The `GObject` passed to the _finish function.

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

`source_tag`

  Type: `gpointer`

  The asynchronous function.

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

#### Return value

Type: `gboolean`

`TRUE` if all checks passed or `FALSE` if any failed.