### Method

# Ide Workbench load_project_async

#### Declaration

    void
    ide_workbench_load_project_async (
      IdeWorkbench* self,
      IdeProjectInfo* project_info,
      GType workspace_type,
      GCancellable* cancellable,
      GAsyncReadyCallback callback,
      gpointer user_data
    )

#### Description

Requests that a project be opened in the workbench.

`project_info` should contain enough information to discover and load the project. Depending on the various fields of the `IdeProjectInfo`, different plugins may become active as part of loading the project.

Note that this may only be called once for an `IdeWorkbench`. If you need to open a second project, you need to create and register a second workbench first, and then open using that secondary workbench.

`callback` should call `ide_workbench_load_project_finish()` to obtain the result of the open request.

Available since: | 3.32

#### Parameters

`project_info` | `IdeProjectInfo`
| An `IdeProjectInfo` describing the project to open.
| The data is owned by the caller of the function.
`workspace_type` | `GType`
| No description available.
`cancellable` | `GCancellable`
| A `GCancellable` or `NULL`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`callback` | `GAsyncReadyCallback`
| A `GAsyncReadyCallback` to execute upon completion.
| The argument can be `NULL`.
`user_data` | `gpointer`
| User data for `callback`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.