diff src/audacious/plugin.h @ 3227:2619f4c62abe trunk

added Discovery plugin type
author Cristi Magherusan <majeru@atheme-project.org>
date Fri, 03 Aug 2007 07:20:58 +0300
parents 1596dcb77acd
children 2453bf125b4f
line wrap: on
line diff
--- a/src/audacious/plugin.h	Thu Aug 02 17:42:38 2007 +0200
+++ b/src/audacious/plugin.h	Fri Aug 03 07:20:58 2007 +0300
@@ -46,6 +46,7 @@
 #define EFFECT_PLUGIN(x)  ((EffectPlugin *)(x))
 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x))
 #define VIS_PLUGIN(x)     ((VisPlugin *)(x))
+#define DISCOVERY_PLUGIN(x)     ((DiscoveryPlugin *)(x))
 
 #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x))
 
@@ -78,7 +79,7 @@
 typedef struct _EffectPlugin  EffectPlugin;
 typedef struct _GeneralPlugin GeneralPlugin;
 typedef struct _VisPlugin     VisPlugin;
-
+typedef struct _DiscoveryPlugin DiscoveryPlugin;
 typedef struct _LowlevelPlugin LowlevelPlugin;
 
 typedef struct _InputPlayback InputPlayback;
@@ -102,15 +103,16 @@
     EffectPlugin **ep_list;
     GeneralPlugin **gp_list;
     VisPlugin **vp_list;
+    DiscoveryPlugin **dp_list;
 } PluginHeader;
 
 #define PLUGIN_MAGIC 0x8EAC8DE2
 
-#define DECLARE_PLUGIN(name, init, fini, ip_list, op_list, ep_list, gp_list, vp_list) \
+#define DECLARE_PLUGIN(name, init, fini, ip_list, op_list, ep_list, gp_list, vp_list, dp_list) \
 	G_BEGIN_DECLS \
 	static PluginHeader _pluginInfo = { PLUGIN_MAGIC, __AUDACIOUS_PLUGIN_API__, \
 		(gchar *)#name, init, fini, NULL, ip_list, op_list, ep_list, gp_list, \
-		vp_list }; \
+		vp_list,dp_list }; \
 	G_MODULE_EXPORT PluginHeader *get_plugin_info(void) { \
 		return &_pluginInfo; \
 	} \
@@ -278,6 +280,17 @@
     void (*render_freq) (gint16 freq_data[2][256]);
 };
 
+struct _DiscoveryPlugin {
+    gpointer handle;
+    gchar *filename;
+    gchar *description;
+ 
+    void (*init) (void);
+    void (*cleanup) (void);
+    void (*about) (void);
+    void (*configure) (void);
+    gchar *(*get_devices);  
+};
 
 G_BEGIN_DECLS