diff src/audacious/hook.h @ 2457:b7f77224ea03 trunk

[svn] - now it's possible to pass user_data along with the hook function in hook_associate
author giacomo
date Wed, 31 Jan 2007 18:21:35 -0800
parents 60f1bc20c19c
children d226b83fa329
line wrap: on
line diff
--- a/src/audacious/hook.h	Wed Jan 31 16:47:18 2007 -0800
+++ b/src/audacious/hook.h	Wed Jan 31 18:21:35 2007 -0800
@@ -18,16 +18,23 @@
 #ifndef __AUDACIOUS_HOOK_H__
 #define __AUDACIOUS_HOOK_H__
 
-typedef void (*HookFunction)(gpointer user_data);
+#include <glib.h>
+
+typedef void (*HookFunction)(gpointer hook_data, gpointer user_data);
+
+typedef struct {
+    HookFunction func;
+    gpointer user_data;
+} HookItem;
 
 typedef struct {
     const gchar *name;
-    GSList *funcs;
+    GSList *items;
 } Hook;
 
 void hook_register(const gchar *name);
-void hook_associate(const gchar *name, HookFunction func);
-void hook_dissociate(const gchar *name, HookFunction func);
-void hook_call(const gchar *name, gpointer user_data);
+gint hook_associate(const gchar *name, HookFunction func, gpointer user_data);
+gint hook_dissociate(const gchar *name, HookFunction func);
+void hook_call(const gchar *name, gpointer hook_data);
 
 #endif