From 23dfcf4ff925f61bcb2c3bdd712ff0f70bde4fcb Mon Sep 17 00:00:00 2001 From: laforge Date: Tue, 24 Oct 2006 13:07:08 +0000 Subject: - clean up header files (all in include/gmsd now) - finish vendor plugin support - add call progress indicator and signal quality unsolicited support to vendor_ti.c git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@120 99fdad57-331a-0410-800a-d7fa5415bdb3 --- src/gsmd/vendor.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/gsmd/vendor.c (limited to 'src/gsmd/vendor.c') diff --git a/src/gsmd/vendor.c b/src/gsmd/vendor.c new file mode 100644 index 0000000..d577e98 --- /dev/null +++ b/src/gsmd/vendor.c @@ -0,0 +1,39 @@ +#include + +#include + +#include "gsmd.h" + +#include +#include + +static LLIST_HEAD(vendorpl_list); + +int gsmd_vendor_plugin_register(struct gsmd_vendor_plugin *pl) +{ + llist_add(&pl->list, &vendorpl_list); + + return 0; +} + +void gsmd_vendor_plugin_unregister(struct gsmd_vendor_plugin *pl) +{ + llist_del(&pl->list); +} + +int gsmd_vendor_plugin_find(struct gsmd *g) +{ + struct gsmd_vendor_plugin *pl; + + if (g->vendorpl) + return -EEXIST; + + llist_for_each_entry(pl, &vendorpl_list, list) { + if (pl->detect(g) == 1) { + g->vendorpl = pl; + return 1; + } + } + + return 0; +} -- cgit v1.2.3