### Interface

# Peas Activatable

#### Description [src]

    interface Peas.Activatable : GObject.Object

Interface for activatable plugins.

#### Prerequisite

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

#### Instance methods

###### peas_activatable_activate

Activates the extension on the targetted object.

###### peas_activatable_deactivate

Deactivates the extension on the targetted object.

###### peas_activatable_update_state

Triggers an update of the extension internal state to take into account state changes in the targetted object, due to some event or user action.

#### Properties

###### Peas.Activatable:object

The object property contains the targetted object for this `PeasActivatable` instance.

#### Interface structure

    struct PeasActivatableInterface {
      GTypeInterface g_iface;
      void (* activate) (
        PeasActivatable* activatable
      );
      void (* deactivate) (
        PeasActivatable* activatable
      );
      void (* update_state) (
        PeasActivatable* activatable
      );

    }

Provides an interface for activatable plugins.

###### Interface members

`g_iface`

    GTypeInterface

| The parent interface.

`activate`

    void (* activate) (
        PeasActivatable* activatable
      )

| Activates the plugin.

`deactivate`

    void (* deactivate) (
        PeasActivatable* activatable
      )

| Deactivates the plugin.

`update_state`

    void (* update_state) (
        PeasActivatable* activatable
      )

| Updates the plugin’s internal state to take account of a change in the target object’s state.

#### Virtual methods

###### Peas.Activatable.activate

Activates the extension on the targetted object.

###### Peas.Activatable.deactivate

Deactivates the extension on the targetted object.

###### Peas.Activatable.update_state

Triggers an update of the extension internal state to take into account state changes in the targetted object, due to some event or user action.