summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2013-03-13 13:01:40 -0500
committerDenis Kenzior <denkenz@gmail.com>2013-03-18 13:42:43 -0500
commit46f95f0d4f381a50947301790160677bfad0d747 (patch)
treee500b91bebfa9328d06bd61e832cf16ddfbccb32 /include
parentb64357f69020227e971386f9787cc49831eef659 (diff)
downloadofono-46f95f0d4f381a50947301790160677bfad0d747.tar.bz2
include: Add handsfree card driver registration
Diffstat (limited to 'include')
-rw-r--r--include/handsfree-audio.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/handsfree-audio.h b/include/handsfree-audio.h
index c5403c70..745af35f 100644
--- a/include/handsfree-audio.h
+++ b/include/handsfree-audio.h
@@ -30,6 +30,19 @@ extern "C" {
struct ofono_handsfree_card;
+typedef void (*ofono_handsfree_card_connect_cb_t)(
+ const struct ofono_error *error, void *data);
+
+struct ofono_handsfree_card_driver {
+ const char *name;
+ int (*probe)(struct ofono_handsfree_card *card, unsigned int vendor,
+ void *data);
+ void (*remove)(struct ofono_handsfree_card *card);
+ int (*connect)(struct ofono_handsfree_card *card,
+ ofono_handsfree_card_connect_cb_t cb,
+ void *data);
+};
+
struct ofono_handsfree_card *ofono_handsfree_card_create(const char *remote,
const char *local);
int ofono_handsfree_card_register(struct ofono_handsfree_card *card);
@@ -38,6 +51,11 @@ void ofono_handsfree_card_remove(struct ofono_handsfree_card *card);
void ofono_handsfree_audio_ref(void);
void ofono_handsfree_audio_unref(void);
+int ofono_handsfree_card_driver_register(
+ const struct ofono_handsfree_card_driver *d);
+void ofono_handsfree_card_driver_unregister(
+ const struct ofono_handsfree_card_driver *d);
+
#ifdef __cplusplus
}
#endif