Diff between 20f1a8eb694c412e4c0ac3ec1e357bdc07ea1893 and 94b83f5bc5620c2555cdc4dcc11b74a6f099fc16

Changed Files

File Additions Deletions Status
obexd/src/phonebook.c +21 -0 modified
obexd/src/phonebook.h +17 -0 modified

Full Patch

diff --git a/obexd/src/phonebook.c b/obexd/src/phonebook.c
index 6d8bddc..b81e774 100644
--- a/obexd/src/phonebook.c
+++ b/obexd/src/phonebook.c
@@ -25,4 +25,25 @@
 #include <config.h>
 #endif
 
+#include <glib.h>
+
 #include "phonebook.h"
+
+static GSList *driver_list = NULL;
+
+int phonebook_driver_register(struct phonebook_driver *driver)
+{
+	driver_list = g_slist_append(driver_list, driver);
+
+	return 0;
+}
+
+void phonebook_driver_unregister(struct phonebook_driver *driver)
+{
+	driver_list = g_slist_remove(driver_list, driver);
+}
+
+void phonebook_return(struct phonebook_context *context,
+					unsigned char *buf, size_t size)
+{
+}
diff --git a/obexd/src/phonebook.h b/obexd/src/phonebook.h
index 417e231..b786234 100644
--- a/obexd/src/phonebook.h
+++ b/obexd/src/phonebook.h
@@ -21,3 +21,20 @@
  *
  */
 
+struct phonebook_context {
+};
+
+struct phonebook_driver {
+	const char *name;
+	int (*create) (struct phonebook_context *context);
+	void (*destroy) (struct phonebook_context *context);
+	int (*pullphonebook) (struct phonebook_context *context, ...);
+	int (*pullvcardlisting) (struct phonebook_context *context, ...);
+	int (*pullvcardentry) (struct phonebook_context *context, ...);
+};
+
+extern int phonebook_driver_register(struct phonebook_driver *driver);
+extern void phonebook_driver_unregister(struct phonebook_driver *driver);
+
+extern void phonebook_return(struct phonebook_context *context,
+					unsigned char *buf, size_t size);