handsfree-audio: Add card driver registration
authorDenis Kenzior <denkenz@gmail.com>
Wed, 13 Mar 2013 18:01:55 +0000 (13:01 -0500)
committerDenis Kenzior <denkenz@gmail.com>
Mon, 18 Mar 2013 18:42:46 +0000 (13:42 -0500)
src/handsfree-audio.c

index 73c6183..d963f50 100644 (file)
@@ -66,6 +66,7 @@ static struct agent *agent = NULL;
 static int ref_count = 0;
 static GSList *card_list = 0;
 static guint sco_watch = 0;
+static GSList *drivers = 0;
 
 static void send_new_connection(const char *card, int fd)
 {
@@ -534,6 +535,27 @@ static const GDBusSignalTable am_signals[] = {
        { }
 };
 
+int ofono_handsfree_card_driver_register(
+                               const struct ofono_handsfree_card_driver *d)
+{
+       DBG("driver: %p", d);
+
+       if (d->probe == NULL)
+               return -EINVAL;
+
+       drivers = g_slist_prepend(drivers, (void *) d);
+
+       return 0;
+}
+
+void ofono_handsfree_card_driver_unregister(
+                               const struct ofono_handsfree_card_driver *d)
+{
+       DBG("driver: %p", d);
+
+       drivers = g_slist_remove(drivers, (void *) d);
+}
+
 void ofono_handsfree_audio_ref(void)
 {
        ref_count += 1;