### Interface

# Ide RuntimeProvider

#### Description

    interface Ide.RuntimeProvider : Ide.Object

No description available.

#### Prerequisite

In order to implement RuntimeProvider, your type must inherit from `IdeObject`.

#### Instance methods

###### ide_runtime_provider_bootstrap_async

This function allows to the runtime provider to install dependent runtimes similar to ide_runtime_provider_install_async(), but with the added benefit that it can access the pipeline for more information. For example, it may want to check the architecture of the pipeline, or the connected device for tweaks as to what runtime to use.

Available since: 3.32

###### ide_runtime_provider_bootstrap_finish

Completes the asynchronous request to bootstrap.

Available since: 3.32

###### ide_runtime_provider_load

No description available.

###### ide_runtime_provider_provides

No description available.

###### ide_runtime_provider_unload

No description available.

#### Interface structure

    struct IdeRuntimeProviderInterface {
      GTypeInterface parent;
      void (* load) (
        IdeRuntimeProvider* self,
        IdeRuntimeManager* manager
      );
      void (* unload) (
        IdeRuntimeProvider* self,
        IdeRuntimeManager* manager
      );
      gboolean (* provides) (
        IdeRuntimeProvider* self,
        const gchar* runtime_id
      );
      void (* bootstrap_async) (
        IdeRuntimeProvider* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      IdeRuntime* (* bootstrap_finish) (
        IdeRuntimeProvider* self,
        GAsyncResult* result,
        GError** error
      );

    }

###### Interface members

`parent` |
    GTypeInterface
| No description available.
`load` |
    void (* load) (
        IdeRuntimeProvider* self,
        IdeRuntimeManager* manager
      )
| No description available.
`unload` |
    void (* unload) (
        IdeRuntimeProvider* self,
        IdeRuntimeManager* manager
      )
| No description available.
`provides` |
    gboolean (* provides) (
        IdeRuntimeProvider* self,
        const gchar* runtime_id
      )
| No description available.
`bootstrap_async` |
    void (* bootstrap_async) (
        IdeRuntimeProvider* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`bootstrap_finish` |
    IdeRuntime* (* bootstrap_finish) (
        IdeRuntimeProvider* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.RuntimeProvider.bootstrap_async

This function allows to the runtime provider to install dependent runtimes similar to ide_runtime_provider_install_async(), but with the added benefit that it can access the pipeline for more information. For example, it may want to check the architecture of the pipeline, or the connected device for tweaks as to what runtime to use.

###### Ide.RuntimeProvider.bootstrap_finish

Completes the asynchronous request to bootstrap.

###### Ide.RuntimeProvider.load

No description available.

###### Ide.RuntimeProvider.provides

No description available.

###### Ide.RuntimeProvider.unload

No description available.