The function is not public api because the service constants are in
src/simutil.h.
---
 src/ofono.h |    5 +++++
 src/sim.c   |   15 +++++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/ofono.h b/src/ofono.h
index e5b4acb..4d76d20 100644
--- a/src/ofono.h
+++ b/src/ofono.h
@@ -281,6 +281,11 @@ gboolean __ofono_sms_datagram_watch_remove(struct 
ofono_sms *sms,
 unsigned short __ofono_sms_get_next_ref(struct ofono_sms *sms);
 
 #include <ofono/sim.h>
+
+ofono_bool_t __ofono_sim_service_available(struct ofono_sim *sim,
+                                               int ust_service,
+                                               int sst_service);
+
 #include <ofono/stk.h>
 
 typedef void (*__ofono_sms_sim_download_cb_t)(ofono_bool_t ok,
diff --git a/src/sim.c b/src/sim.c
index e5e304c..f362565 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -1928,6 +1928,21 @@ const unsigned char 
*ofono_sim_get_cphs_service_table(struct ofono_sim *sim)
        return sim->cphs_service_table;
 }
 
+ofono_bool_t __ofono_sim_service_available(struct ofono_sim *sim,
+                                               int ust_service,
+                                               int sst_service)
+{
+       if (sim->efust)
+               return sim_ust_is_available(sim->efust, sim->efust_length,
+                                               ust_service);
+
+       if (sim->efsst)
+               return sim_sst_is_active(sim->efsst, sim->efsst_length,
+                                               sst_service);
+
+       return FALSE;
+}
+
 static void sim_inserted_update(struct ofono_sim *sim)
 {
        DBusConnection *conn = ofono_dbus_get_connection();
-- 
1.7.1.86.g0e460.dirty

_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to