diff audacious/plugin.h @ 1563:c4640c88942d trunk

[svn] - lowlevel plugin stuff
author nenolod
date Thu, 10 Aug 2006 20:35:10 -0700
parents 3b990c26fc46
children c2a63f41d8c6
line wrap: on
line diff
--- a/audacious/plugin.h	Thu Aug 10 20:20:39 2006 -0700
+++ b/audacious/plugin.h	Thu Aug 10 20:35:10 2006 -0700
@@ -40,6 +40,8 @@
 #define GENERAL_PLUGIN(x) ((GeneralPlugin *)(x))
 #define VIS_PLUGIN(x)     ((VisPlugin *)(x))
 
+#define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x))
+
 
 typedef enum {
     FMT_U8,
@@ -67,6 +69,8 @@
 typedef struct _GeneralPlugin GeneralPlugin;
 typedef struct _VisPlugin     VisPlugin;
 
+typedef struct _LowlevelPlugin LowlevelPlugin;
+
 /* Sadly, this is the most we can generalize out of the disparate
    plugin structs usable with typecasts - descender */
 struct _Plugin {
@@ -74,6 +78,22 @@
     gchar *filename;
 };
 
+/*
+ * LowlevelPlugin is used for lowlevel system services, such as PlaylistContainers,
+ * VFSContainers and the like.
+ *
+ * They are not GUI visible at this time.
+ */
+struct _LowlevelPlugin {
+    gpointer handle;
+    gchar *filename;
+
+    gchar *description;
+
+    void (*init) (void);
+    void (*cleanup) (void);
+};
+
 struct _OutputPlugin {
     gpointer handle;
     gchar *filename;