EinaActivatable

EinaActivatable — Interface for activatable plugins.

Synopsis

#define             EINA_ACTIVATABLE_IFACE              (obj)
struct              EinaActivatableInterface;
                    EinaActivatableInterfacePrivate;
gboolean            eina_activatable_activate           (EinaActivatable *activatable,
                                                         EinaApplication *application,
                                                         GError **error);
gboolean            eina_activatable_deactivate         (EinaActivatable *activatable,
                                                         EinaApplication *application,
                                                         GError **error);
EinaApplication *   eina_activatable_get_application    (EinaActivatable *activatable);
EinaActivatableInterface * eina_activatable_get_iface   (GObject *object);

Description

EinaActivatable is an interface which should be implemented by plugins,

It is typical to use EinaActivatable along with PeasExtensionSet in order to activate and deactivate extensions automatically when plugins are loaded or unloaded.

Details

EINA_ACTIVATABLE_IFACE()

#define EINA_ACTIVATABLE_IFACE(obj)     (G_TYPE_CHECK_CLASS_CAST ((obj),       EINA_TYPE_ACTIVATABLE, EinaActivatableInterface))

struct EinaActivatableInterface

struct EinaActivatableInterface {
	GTypeInterface g_iface;
	EinaActivatableInterfacePrivate *priv;

	/* Virtual public methods */
	gboolean (*activate)   (EinaActivatable *activatable, EinaApplication *application, GError **error);
	gboolean (*deactivate) (EinaActivatable *activatable, EinaApplication *application, GError **error);
};

EinaActivatableInterfacePrivate

typedef struct _EinaActivatableInterfacePrivate EinaActivatableInterfacePrivate;

eina_activatable_activate ()

gboolean            eina_activatable_activate           (EinaActivatable *activatable,
                                                         EinaApplication *application,
                                                         GError **error);

Activates an EinaActivatable

activatable :

An EinaActivatable

application :

An EinaApplication

error :

Location for returned error, or NULL

Returns :

TRUE if successfull, FALSE otherwise.

eina_activatable_deactivate ()

gboolean            eina_activatable_deactivate         (EinaActivatable *activatable,
                                                         EinaApplication *application,
                                                         GError **error);

Deactivates an EinaActivatable

activatable :

An EinaActivatable

application :

An EinaApplication

error :

Location for returned error, or NULL

Returns :

TRUE if successfull, FALSE otherwise.

eina_activatable_get_application ()

EinaApplication *   eina_activatable_get_application    (EinaActivatable *activatable);

Get application associated to activatable

activatable :

An EinaApplication

Returns :

An EinaApplication. [transfer none]

eina_activatable_get_iface ()

EinaActivatableInterface * eina_activatable_get_iface   (GObject *object);

Gets the EinaActivatableInterface from object

object :

A GObject

Returns :

The EinaActivatableInterface. [transfer none]

See Also

PeasExtensionSet, PeasActivatable