summaryrefslogtreecommitdiffstats
path: root/src/modem.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2013-02-07 14:53:44 -0600
committerDenis Kenzior <denkenz@gmail.com>2013-02-14 08:47:10 -0600
commit69820a7136c7d7925bfb5c4f725e481cb642ba5f (patch)
treee296958f8f62041608de65776a2066a93b00070c /src/modem.c
parent47b24507fc3173d2bbbd0b31159273095eac5d48 (diff)
downloadofono-69820a7136c7d7925bfb5c4f725e481cb642ba5f.tar.bz2
modem: Implement ofono_modem_find
Diffstat (limited to 'src/modem.c')
-rw-r--r--src/modem.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c
index 3c7c80ae..79cea793 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -2199,6 +2199,22 @@ void __ofono_modem_foreach(ofono_modem_foreach_func func, void *userdata)
}
}
+struct ofono_modem *ofono_modem_find(ofono_modem_compare_cb_t func,
+ void *user_data)
+{
+ struct ofono_modem *modem;
+ GSList *l;
+
+ for (l = g_modem_list; l; l = l->next) {
+ modem = l->data;
+
+ if (func(modem, user_data) == TRUE)
+ return modem;
+ }
+
+ return NULL;
+}
+
ofono_bool_t ofono_modem_get_emergency_mode(struct ofono_modem *modem)
{
return modem->emergency != 0;