## bluetooth-plugin

bluetooth-plugin — Bluetooth plug-in

## Stability Level

Stable, unless otherwise indicated

## Synopsis

    #include <bluetooth-plugin.h>

                        GbtPluginInfo;
                        GbtPlugin;
    #define             GBT_INIT_PLUGIN                     (plugininfo)

## Description

Plug-ins can be used to extend set up wizards and preferences.

## Details

### GbtPluginInfo

    typedef struct {
    	const char                         *id;
    	gboolean (* has_config_widget)     (const char *bdaddr, const char **uuids);
    	GtkWidget * (* get_config_widgets) (const char *bdaddr, const char **uuids);
    	void (* device_removed)            (const char *bdaddr);
    } GbtPluginInfo;

A structure representing a gnome-bluetooth wizard and properties plugin. You should also call `GBT_INIT_PLUGIN()` on the plugin structure to export it.

const char *`id`; | A unique ID representing the plugin
`has_config_widget` () | Whether the passed Bluetooth address and UUIDs would have a configuration widget
`get_config_widgets` () | Returns the configuration widget for the passed Bluetooth address and UUIDs
`device_removed` () | Remove any configuration relating to the Bluetooth address passed

### GbtPlugin

    typedef struct {
    	GModule *module;
    	GbtPluginInfo *info;
    } GbtPlugin;

A structure as used in gnome-bluetooth.

GModule *`module`; | the GModule for the opened shared library
GbtPluginInfo *`info`; | a GbtPluginInfo structure

### GBT_INIT_PLUGIN()

    #define             GBT_INIT_PLUGIN(plugininfo)

Call this on an GbtPluginInfo structure to make it available to gnome-bluetooth.

`plugininfo` : | a GbtPluginInfo structure representing the plugin