## EPluginHook EPluginHook |

## Functions

gint | e_plugin_construct ()
gint | e_plugin_load_plugins ()
GSList * | e_plugin_list_plugins ()
gpointer | e_plugin_get_symbol ()
gpointer | e_plugin_invoke ()
void | e_plugin_enable ()
GtkWidget * | e_plugin_get_configure_widget ()
gchar * | e_plugin_xml_prop ()
gchar * | e_plugin_xml_prop_domain ()
gint | e_plugin_xml_int ()
gchar * | e_plugin_xml_content ()
gchar * | e_plugin_xml_content_domain ()
EPluginHook * | e_plugin_hook_new ()
void | e_plugin_hook_enable ()
guint32 | e_plugin_hook_mask ()
guint32 | e_plugin_hook_id ()

## Types and Values

#define | E_PLUGIN_CLASSID
struct | EPluginAuthor
enum | EPluginFlags
struct | EPluginHookTargetKey
struct | EPluginHookTargetMap

## Description

## Functions

### e_plugin_construct ()

    gint
    e_plugin_construct (EPlugin *plugin,
                        xmlNodePtr root);

`e_plugin_construct` is deprecated and should not be used in newly-written code.

Helper to invoke the construct virtual method.

#### Parameters

plugin | an EPlugin |
root | The XML root node of the sub-tree containing the plugin definition. |

#### Returns

The return from the construct virtual method.

### e_plugin_load_plugins ()

    gint
    e_plugin_load_plugins (void);

`e_plugin_load_plugins` is deprecated and should not be used in newly-written code.

Scan the search path, looking for plugin definitions, and load them into memory.

#### Returns

Returns -1 if an error occurred.

### e_plugin_list_plugins ()

    GSList *
    e_plugin_list_plugins (void);

`e_plugin_list_plugins` is deprecated and should not be used in newly-written code.

### e_plugin_get_symbol ()

    gpointer
    e_plugin_get_symbol (EPlugin *plugin,
                         const gchar *name);

`e_plugin_get_symbol` is deprecated and should not be used in newly-written code.

Helper to fetch a symbol name from a plugin.

#### Parameters

plugin | an EPlugin |
name | The name of the symbol to fetch. The format of this name will depend on the EPlugin type and its language conventions. |

#### Returns

the symbol value, or `NULL` if not found

### e_plugin_invoke ()

    gpointer
    e_plugin_invoke (EPlugin *plugin,
                     const gchar *name,
                     gpointer data);

`e_plugin_invoke` is deprecated and should not be used in newly-written code.

Helper to invoke the invoke virtual method.

#### Parameters

plugin | an EPlugin |
name | The name of the function to invoke. The format of this name will depend on the EPlugin type and its language conventions. |
data | The argument to the function. Its actual type depends on the hook on which the function resides. It is up to the called function to get this right. |

#### Returns

The return of the plugin invocation.

### e_plugin_enable ()

    void
    e_plugin_enable (EPlugin *plugin,
                     gint state);

`e_plugin_enable` is deprecated and should not be used in newly-written code.

Set the enable state of a plugin.

THIS IS NOT FULLY IMPLEMENTED YET

#### Parameters

plugin | an EPlugin |
state | `TRUE` to enable, `FALSE` to disable |

### e_plugin_get_configure_widget ()

    GtkWidget *
    e_plugin_get_configure_widget (EPlugin *plugin);

`e_plugin_get_configure_widget` is deprecated and should not be used in newly-written code.

Plugin itself should have implemented "e_plugin_lib_get_configure_widget" function * of prototype EPluginLibGetConfigureWidgetFunc.

#### Parameters

plugin | an EPlugin |

#### Returns

Configure widget or `NULL`

### e_plugin_xml_prop ()

    gchar *
    e_plugin_xml_prop (xmlNodePtr node,
                       const gchar *id);

`e_plugin_xml_prop` is deprecated and should not be used in newly-written code.

A static helper function to look up a property on an XML node, and ensure it is allocated in GLib system memory.

#### Parameters

node | An XML node. |
id | The name of the property to retrieve. |

#### Returns

The property, allocated in GLib memory, or NULL if no such property exists.

### e_plugin_xml_prop_domain ()

    gchar *
    e_plugin_xml_prop_domain (xmlNodePtr node,
                              const gchar *id,
                              const gchar *domain);

`e_plugin_xml_prop_domain` is deprecated and should not be used in newly-written code.

A static helper function to look up a property on an XML node, and translate it based on `domain` .

#### Parameters

node | An XML node. |
id | The name of the property to retrieve. |
domain | The translation domain for this string. |

#### Returns

The property, allocated in GLib memory, or NULL if no such property exists.

### e_plugin_xml_int ()

    gint
    e_plugin_xml_int (xmlNodePtr node,
                      const gchar *id,
                      gint def);

`e_plugin_xml_int` is deprecated and should not be used in newly-written code.

A static helper function to look up a property on an XML node as an integer. If the property doesn't exist, then `def` is returned as a default value instead.

#### Parameters

node | An XML node. |
id | The name of the property to retrieve. |
def | A default value if the property doesn't exist. Can be used to determine if the property isn't set. |

#### Returns

The value if set, or `def` if not.

### e_plugin_xml_content ()

    gchar *
    e_plugin_xml_content (xmlNodePtr node);

`e_plugin_xml_content` is deprecated and should not be used in newly-written code.

A static helper function to retrieve the entire textual content of an XML node, and ensure it is allocated in GLib system memory. If GLib isn't using the system malloc them it must copy the content.

#### Returns

The node content, allocated in GLib memory.

### e_plugin_xml_content_domain ()

    gchar *
    e_plugin_xml_content_domain (xmlNodePtr node,
                                 const gchar *domain);

`e_plugin_xml_content_domain` is deprecated and should not be used in newly-written code.

A static helper function to retrieve the entire textual content of an XML node, and ensure it is allocated in GLib system memory. If GLib isn't using the system malloc them it must copy the content.

#### Returns

The node content, allocated in GLib memory.

### e_plugin_hook_new ()

    EPluginHook *
    e_plugin_hook_new (EPlugin *plugin,
                       xmlNodePtr root);

`e_plugin_hook_new` is deprecated and should not be used in newly-written code.

### e_plugin_hook_enable ()

    void
    e_plugin_hook_enable (EPluginHook *plugin_hook,
                          gint state);

`e_plugin_hook_enable` is deprecated and should not be used in newly-written code.

Set the enabled state of the plugin hook. This is called by the plugin code.

THIS IS NOT FULY IMEPLEMENTED YET

### e_plugin_hook_mask ()

    guint32
    e_plugin_hook_mask (xmlNodePtr root,
                        const EPluginHookTargetKey *map,
                        const gchar *prop);

`e_plugin_hook_mask` is deprecated and should not be used in newly-written code.

This is a static helper function which looks up a property `prop` on the XML node `root` , and then uses the `map` table to convert it into a bitmask. The property value is a comma separated list of enumeration strings which are indexed into the `map` table.

#### Parameters

root | An XML node. |
map | A zero-fill terminated array of EPluginHookTargeKeys used to map a string with a bit value. |
prop | The property name. |

#### Returns

A bitmask representing the inclusive-or of all of the integer values of the corresponding string id's stored in the `map` .

### e_plugin_hook_id ()

    guint32
    e_plugin_hook_id (xmlNodePtr root,
                      const EPluginHookTargetKey *map,
                      const gchar *prop);

`e_plugin_hook_id` is deprecated and should not be used in newly-written code.

This is a static helper function which looks up a property `prop` on the XML node `root` , and then uses the `map` table to convert it into an integer.

This is used as a helper wherever you need to represent an enumerated value in the XML.

#### Returns

If the `prop` value is in `map` , then the corresponding integer value, if not, then ~0.

## Types and Values

### E_PLUGIN_CLASSID

    #define E_PLUGIN_CLASSID "org.gnome.evolution.plugin"

`E_PLUGIN_CLASSID` is deprecated and should not be used in newly-written code.

### struct EPluginAuthor

    struct EPluginAuthor {
    	gchar *name;
    	gchar *email;
    };

`EPluginAuthor` is deprecated and should not be used in newly-written code.

### enum EPluginFlags

`EPluginFlags` is deprecated and should not be used in newly-written code.

#### Members

E_PLUGIN_FLAGS_SYSTEM_PLUGIN |  |

### struct EPluginHookTargetKey

    struct EPluginHookTargetKey {
    	const gchar *key;
    	guint32 value;
    };

`EPluginHookTargetKey` is deprecated and should not be used in newly-written code.

### struct EPluginHookTargetMap

    struct EPluginHookTargetMap {
    	const gchar *type;
    	gint id;
    	const EPluginHookTargetKey *mask_bits; /* null terminated array */
    };

`EPluginHookTargetMap` is deprecated and should not be used in newly-written code.