Remove sqlite3 build dep.
[gmpc.git] / src / Tools / plugin-man.h
blob30fba44b652ea5b8d20fb359f6dcce24f6674a94
1 #ifndef __PLUGIN_MAN_H__
2 #define __PLUGIN_MAN_H__
4 /**
5 * plugin manager takes care of actions that have to be done on all plugins.
6 * This basically wraps plugin.c
7 */
9 /**
10 * Load internal gmpc plugins
12 void plugin_manager_load_internal_plugins(void);
14 /**
15 * Initialize all the loaded plugins.
17 * This initializes all the internal and external pluginsto initialize.
19 void plugin_manager_initialize_plugins(void);
22 /**
23 * Destroy all the loaded plugins.
25 * This tells all internal and external plugins to destroy itself.
27 void plugin_manager_destroy_plugins(void);
29 /**
30 * Tell the plugins to save state
32 * This executes the gmpc_plugin_save_yourself command on all internal
33 * and external plugins.
35 void plugin_manager_save_state(void);
37 /**
38 * @param mi the #MpdObj
39 * @param connected the new connected state (1 is connected, 0 is disconnected)
41 * Tell all plugins that the connection changed
43 void plugin_manager_connection_changed(MpdObj *mi, const int connected);
46 /**
47 * @param mi the #MpdObj
48 * @param what a #changedStatusType bitmask with changes
50 * Tell all pluginst that the status of the mi object changed.
52 void plugin_manager_status_changed(MpdObj *mi, const ChangedStatusType what);
54 /**
55 * Loads the external plugins in gmpc.
57 void plugin_manager_load_plugins(void);
58 #endif