summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-26 15:21:39 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-26 15:21:39 +0200
commit3f8e973b1272bde41b5387ef4b83789d54a56557 (patch)
treedd89e900f320139d49fb239b0f64e45416e693ed
parent66e87af1c9920b828ae959d69bd1f0b2517a1b2d (diff)
added threading functions to plugin api
-rw-r--r--deadbeef.h6
-rw-r--r--plugins.c7
2 files changed, 13 insertions, 0 deletions
diff --git a/deadbeef.h b/deadbeef.h
index 422a971c..416c890d 100644
--- a/deadbeef.h
+++ b/deadbeef.h
@@ -102,6 +102,12 @@ typedef struct {
void (*playback_stop) (void);
void (*playback_play) (void);
void (*quit) (void);
+ // threading
+ void (*thread_start) (void (*fn)(uintptr_t ctx), uintptr_t ctx);
+ uintptr_t (*mutex_create) (void);
+ void (*mutex_free) (uintptr_t mtx);
+ int (*mutex_lock) (uintptr_t mtx);
+ int (*mutex_unlock) (uintptr_t mtx);
} DB_functions_t;
// base plugin interface
diff --git a/plugins.c b/plugins.c
index 3333acd4..15ed6424 100644
--- a/plugins.c
+++ b/plugins.c
@@ -11,6 +11,8 @@
#include "md5/md5.h"
#include "messagepump.h"
#include "messages.h"
+#include "threading.h"
+#include "progress.h"
// deadbeef api
DB_functions_t deadbeef_api = {
@@ -27,6 +29,11 @@ DB_functions_t deadbeef_api = {
.playback_stop = plug_playback_stop,
.playback_play = plug_playback_play,
.quit = plug_quit,
+ .thread_start = thread_start,
+ .mutex_create = mutex_create,
+ .mutex_free = mutex_free,
+ .mutex_lock = mutex_lock,
+ .mutex_unlock = mutex_unlock,
};
void