### Interface

# Ide ContextAddin

#### Description

    interface Ide.ContextAddin : GObject.Object

No description available.

#### Prerequisite

In order to implement ContextAddin, your type must inherit from `GObject`.

#### Instance methods

###### ide_context_addin_load

Requests that the `IdeContextAddin` loads any necessary runtime features.

Available since: 3.32

###### ide_context_addin_load_project_async

Requests to load a project with the `IdeContextAddin`.

Available since: 3.32

###### ide_context_addin_load_project_finish

Completes a request to load a project with the `IdeContextAddin`.

Available since: 3.32

###### ide_context_addin_project_loaded

Emits the `IdeContextAddin::project-loaded` signal.

Available since: 3.32

###### ide_context_addin_unload

Requests that the `IdeContextAddin` unloads any previously loaded resources.

Available since: 3.32

#### Signals

###### Ide.ContextAddin::project-loaded

The “project-loaded” signal is emitted after a project has been loaded in the `IdeContext`.

Available since: 3.32

#### Interface structure

    struct IdeContextAddinInterface {
      GTypeInterface parent_iface;
      void (* load) (
        IdeContextAddin* self,
        IdeContext* context
      );
      void (* unload) (
        IdeContextAddin* self,
        IdeContext* context
      );
      void (* load_project_async) (
        IdeContextAddin* self,
        IdeContext* context,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* load_project_finish) (
        IdeContextAddin* self,
        GAsyncResult* result,
        GError** error
      );
      void (* project_loaded) (
        IdeContextAddin* self,
        IdeContext* context
      );

    }

###### Interface members

`parent_iface` |
    GTypeInterface
| No description available.
`load` |
    void (* load) (
        IdeContextAddin* self,
        IdeContext* context
      )
| No description available.
`unload` |
    void (* unload) (
        IdeContextAddin* self,
        IdeContext* context
      )
| No description available.
`load_project_async` |
    void (* load_project_async) (
        IdeContextAddin* self,
        IdeContext* context,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`load_project_finish` |
    gboolean (* load_project_finish) (
        IdeContextAddin* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.
`project_loaded` |
    void (* project_loaded) (
        IdeContextAddin* self,
        IdeContext* context
      )
| No description available.

#### Virtual methods

###### Ide.ContextAddin.load

Requests that the `IdeContextAddin` loads any necessary runtime features.

###### Ide.ContextAddin.load_project_async

Requests to load a project with the `IdeContextAddin`.

###### Ide.ContextAddin.load_project_finish

Completes a request to load a project with the `IdeContextAddin`.

###### Ide.ContextAddin.project_loaded

Emits the `IdeContextAddin::project-loaded` signal.

###### Ide.ContextAddin.unload

Requests that the `IdeContextAddin` unloads any previously loaded resources.