### Function

# RB uri_handle_recursively_async

#### Declaration [src]

    void
    rb_uri_handle_recursively_async (
      const char* uri,
      GCancellable* cancel,
      RBUriRecurseFunc func,
      gpointer user_data,
      GDestroyNotify data_destroy
    )

#### Description [src]

Calls `func` for each file found under the directory identified by `uri`, or if `uri` identifies a file, calls it once with that.

If non-NULL, `destroy_data` will be called once all files have been processed, or when the operation is cancelled.

#### Parameters

`uri`

  Type: `const char*`

  The URI to visit.

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

`cancel`

  Type: `GCancellable`

  A `GCancellable` to allow cancellation.

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

`func`

  Type: `RBUriRecurseFunc`

  Callback function.

`user_data`

  Type: `gpointer`

  Data to pass to callback.

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

`data_destroy`

  Type: `GDestroyNotify`

  Function to call to free `user_data`.