summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-09 14:00:09 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-09 14:00:09 -0500
commit0d2b9cb5f4b9381aaf6be2f4faa24e5a2597e488 (patch)
tree8fd18b5f9b21159d34abdcd41c6b3070535d18d0
parent0f994b7ea3987df62e77d9cd32f3d421343f3e6a (diff)
downloadofono-0d2b9cb5f4b9381aaf6be2f4faa24e5a2597e488.tar.gz
modem: Add __ofono_modem_foreach
-rw-r--r--src/modem.c11
-rw-r--r--src/ofono.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c
index 412dfb96..9128f0d4 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -1550,3 +1550,14 @@ void __ofono_modem_shutdown()
if (modems_remaining == 0)
__ofono_exit();
}
+
+void __ofono_modem_foreach(ofono_modem_foreach_func func, void *userdata)
+{
+ struct ofono_modem *modem;
+ GSList *l;
+
+ for (l = g_modem_list; l; l = l->next) {
+ modem = l->data;
+ func(modem, userdata);
+ }
+}
diff --git a/src/ofono.h b/src/ofono.h
index 51084249..f1c09739 100644
--- a/src/ofono.h
+++ b/src/ofono.h
@@ -89,6 +89,9 @@ void __ofono_plugin_cleanup(void);
#include <ofono/modem.h>
+typedef void (*ofono_modem_foreach_func)(struct ofono_modem *modem, void *data);
+void __ofono_modem_foreach(ofono_modem_foreach_func cb, void *userdata);
+
unsigned int __ofono_modem_callid_next(struct ofono_modem *modem);
void __ofono_modem_callid_hold(struct ofono_modem *modem, int id);
void __ofono_modem_callid_release(struct ofono_modem *modem, int id);