### 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.