* [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust.
@ 2010-11-10 3:27 Andrzej Zaborowski
2010-11-10 3:27 ` [PATCH 2/3] sms: SMS-PP download must be enabled in SIM service tables Andrzej Zaborowski
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Andrzej Zaborowski @ 2010-11-10 3:27 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 1464 bytes --]
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
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/3] sms: SMS-PP download must be enabled in SIM service tables.
2010-11-10 3:27 [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Andrzej Zaborowski
@ 2010-11-10 3:27 ` Andrzej Zaborowski
2010-11-10 15:13 ` Denis Kenzior
2010-11-10 3:27 ` [PATCH 3/3] cbs: CB " Andrzej Zaborowski
2010-11-10 15:12 ` [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Denis Kenzior
2 siblings, 1 reply; 6+ messages in thread
From: Andrzej Zaborowski @ 2010-11-10 3:27 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 1170 bytes --]
---
src/sms.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/sms.c b/src/sms.c
index eba4564..fe45ef3 100644
--- a/src/sms.c
+++ b/src/sms.c
@@ -37,6 +37,7 @@
#include "util.h"
#include "smsutil.h"
#include "storage.h"
+#include "simutil.h"
#define uninitialized_var(x) x = x
@@ -1417,6 +1418,7 @@ void ofono_sms_deliver_notify(struct ofono_sms *sms, unsigned char *pdu,
{
struct ofono_modem *modem = __ofono_atom_get_modem(sms->atom);
struct ofono_atom *stk_atom;
+ struct ofono_atom *sim_atom;
struct sms s;
enum sms_class cls;
@@ -1485,6 +1487,17 @@ void ofono_sms_deliver_notify(struct ofono_sms *sms, unsigned char *pdu,
if (cls != SMS_CLASS_2)
break;
+ sim_atom = __ofono_modem_find_atom(modem, OFONO_ATOM_TYPE_SIM);
+
+ if (!sim_atom)
+ return;
+
+ if (!__ofono_sim_service_available(
+ __ofono_atom_get_data(sim_atom),
+ SIM_UST_SERVICE_DATA_DOWNLOAD_SMS_PP,
+ SIM_SST_SERVICE_DATA_DOWNLOAD_SMS_PP))
+ return;
+
stk_atom = __ofono_modem_find_atom(modem, OFONO_ATOM_TYPE_STK);
if (!stk_atom)
--
1.7.1.86.g0e460.dirty
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 3/3] cbs: CB download must be enabled in SIM service tables.
2010-11-10 3:27 [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Andrzej Zaborowski
2010-11-10 3:27 ` [PATCH 2/3] sms: SMS-PP download must be enabled in SIM service tables Andrzej Zaborowski
@ 2010-11-10 3:27 ` Andrzej Zaborowski
2010-11-10 15:14 ` Denis Kenzior
2010-11-10 15:12 ` [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Denis Kenzior
2 siblings, 1 reply; 6+ messages in thread
From: Andrzej Zaborowski @ 2010-11-10 3:27 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 1320 bytes --]
---
src/cbs.c | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/cbs.c b/src/cbs.c
index 6bd2f69..821985b 100644
--- a/src/cbs.c
+++ b/src/cbs.c
@@ -173,6 +173,7 @@ static void cbs_dispatch_text(struct ofono_cbs *cbs, enum sms_class cls,
void ofono_cbs_notify(struct ofono_cbs *cbs, const unsigned char *pdu,
int pdu_len)
{
+ struct ofono_modem *modem = __ofono_atom_get_modem(cbs->atom);
struct cbs c;
enum sms_class cls;
gboolean udhi;
@@ -181,6 +182,7 @@ void ofono_cbs_notify(struct ofono_cbs *cbs, const unsigned char *pdu,
enum sms_charset charset;
char *message;
char iso639_lang[3];
+ struct ofono_atom *sim_atom;
if (cbs->assembly == NULL)
return;
@@ -191,6 +193,17 @@ void ofono_cbs_notify(struct ofono_cbs *cbs, const unsigned char *pdu,
}
if (cbs_topic_in_range(c.message_identifier, cbs->efcbmid_contents)) {
+ sim_atom = __ofono_modem_find_atom(modem, OFONO_ATOM_TYPE_SIM);
+
+ if (!sim_atom)
+ return;
+
+ if (!__ofono_sim_service_available(
+ __ofono_atom_get_data(sim_atom),
+ SIM_UST_SERVICE_DATA_DOWNLOAD_SMS_CB,
+ SIM_SST_SERVICE_DATA_DOWNLOAD_SMS_CB))
+ return;
+
if (cbs->stk)
__ofono_cbs_sim_download(cbs->stk, &c);
return;
--
1.7.1.86.g0e460.dirty
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust.
2010-11-10 3:27 [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Andrzej Zaborowski
2010-11-10 3:27 ` [PATCH 2/3] sms: SMS-PP download must be enabled in SIM service tables Andrzej Zaborowski
2010-11-10 3:27 ` [PATCH 3/3] cbs: CB " Andrzej Zaborowski
@ 2010-11-10 15:12 ` Denis Kenzior
2 siblings, 0 replies; 6+ messages in thread
From: Denis Kenzior @ 2010-11-10 15:12 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 216 bytes --]
Hi Andrew,
On 11/09/2010 09:27 PM, Andrzej Zaborowski wrote:
> The function is not public api because the service constants are in
> src/simutil.h.
> ---
Patch has been applied, thanks.
Regards,
-Denis
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-11-10 15:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-10 3:27 [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Andrzej Zaborowski
2010-11-10 3:27 ` [PATCH 2/3] sms: SMS-PP download must be enabled in SIM service tables Andrzej Zaborowski
2010-11-10 15:13 ` Denis Kenzior
2010-11-10 3:27 ` [PATCH 3/3] cbs: CB " Andrzej Zaborowski
2010-11-10 15:14 ` Denis Kenzior
2010-11-10 15:12 ` [PATCH 1/3] sim: Add sim_service_available() for querying EFsst or EFust Denis Kenzior
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox