summaryrefslogtreecommitdiffstats
path: root/hcid
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-03-11 19:58:56 +0000
committerMarcel Holtmann <marcel@holtmann.org>2008-03-11 19:58:56 +0000
commitf891d23d47274a8788ccdd738ee160f27fb0935b (patch)
tree3d539b63f712e5cb258b44319450f4c91e99791f /hcid
parent37f937248cb8f16dfa726b2ef659ce7a3e930529 (diff)
Add plugin definition structure
Diffstat (limited to 'hcid')
-rw-r--r--hcid/hcid.h3
-rw-r--r--hcid/main.c1
-rw-r--r--hcid/plugin.c2
-rw-r--r--hcid/plugin.h12
4 files changed, 15 insertions, 3 deletions
diff --git a/hcid/hcid.h b/hcid/hcid.h
index 19a94b69..98dcd366 100644
--- a/hcid/hcid.h
+++ b/hcid/hcid.h
@@ -210,3 +210,6 @@ gboolean read_trust(bdaddr_t *local, const char *addr, const char *service);
int write_trust(bdaddr_t *local, const char *addr, const char *service, gboolean trust);
GSList *list_trusts(bdaddr_t *local, const char *service);
int write_device_profiles(bdaddr_t *src, bdaddr_t *dst, const char *profiles);
+
+gboolean plugin_init(void);
+void plugin_cleanup(void);
diff --git a/hcid/main.c b/hcid/main.c
index e1cfd1d1..3f2a0c76 100644
--- a/hcid/main.c
+++ b/hcid/main.c
@@ -53,7 +53,6 @@
#include "hcid.h"
#include "sdpd.h"
#include "server.h"
-#include "plugin.h"
#include "adapter.h"
#include "dbus-common.h"
#include "dbus-service.h"
diff --git a/hcid/plugin.c b/hcid/plugin.c
index 23a1c9e4..32306a2c 100644
--- a/hcid/plugin.c
+++ b/hcid/plugin.c
@@ -27,6 +27,8 @@
#include <glib.h>
+#include "plugin.h"
+
gboolean plugin_init(void)
{
return FALSE;
diff --git a/hcid/plugin.h b/hcid/plugin.h
index 970a27ad..9248aab6 100644
--- a/hcid/plugin.h
+++ b/hcid/plugin.h
@@ -21,5 +21,13 @@
*
*/
-gboolean plugin_init(void);
-void plugin_cleanup(void);
+struct bluetooth_plugin_desc {
+ const char *name;
+ int (*init) (void);
+ void (*exit) (void);
+};
+
+#define BLUETOOTH_PLUGIN_DEFINE(name,init,exit) \
+ struct bluetooth_plugin_desc bluetooth_plugin_desc = { \
+ name, init, exit \
+ };