* SetProperty for UseDeliveryReports @ 2010-06-07 9:53 Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Pasi Miettinen 0 siblings, 1 reply; 7+ messages in thread From: Pasi Miettinen @ 2010-06-07 9:53 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 414 bytes --] These patches implement the setting of UseDeliveryReports variable via DBus. Patches include: 1. Setting of SRR according to UseDeliveryReports in sms_text_prepare(). 2. Add new parameter to sms_text_prepare calls in test-sms.c. 3. SMS core changes. 4. Changes for send-sms script. If the third parameter for the script is "1", UseDeliveryReports is set to TRUE and the message is sent. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h. 2010-06-07 9:53 SetProperty for UseDeliveryReports Pasi Miettinen @ 2010-06-07 9:53 ` Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 2/4] SetProperty for UseDeliveryReports. test-sms.c Pasi Miettinen 2010-06-07 10:14 ` VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Miettinen Pasi 0 siblings, 2 replies; 7+ messages in thread From: Pasi Miettinen @ 2010-06-07 9:53 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1587 bytes --] --- src/smsutil.c | 5 +++-- src/smsutil.h | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/smsutil.c b/src/smsutil.c index 278d335..cf9b77c 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -2643,7 +2643,8 @@ static inline GSList *sms_list_append(GSList *l, const struct sms *in) * if no concatenation took place. */ GSList *sms_text_prepare(const char *utf8, guint16 ref, - gboolean use_16bit, int *ref_offset) + gboolean use_16bit, int *ref_offset, + const gboolean use_delivery_reports) { struct sms template; int offset = 0; @@ -2659,7 +2660,7 @@ GSList *sms_text_prepare(const char *utf8, guint16 ref, template.submit.rd = FALSE; template.submit.vpf = SMS_VALIDITY_PERIOD_FORMAT_RELATIVE; template.submit.rp = FALSE; - template.submit.srr = FALSE; + template.submit.srr = use_delivery_reports; template.submit.mr = 0; template.submit.vp.relative = 0xA7; /* 24 Hours */ diff --git a/src/smsutil.h b/src/smsutil.h index a36a9d3..cfb2765 100644 --- a/src/smsutil.h +++ b/src/smsutil.h @@ -482,7 +482,8 @@ GSList *sms_assembly_add_fragment(struct sms_assembly *assembly, void sms_assembly_expire(struct sms_assembly *assembly, time_t before); GSList *sms_text_prepare(const char *utf8, guint16 ref, - gboolean use_16bit, int *ref_offset); + gboolean use_16bit, int *ref_offset, + const gboolean use_delivery_reports); gboolean cbs_dcs_decode(guint8 dcs, gboolean *udhi, enum sms_class *cls, enum sms_charset *charset, gboolean *compressed, -- 1.6.0.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH 2/4] SetProperty for UseDeliveryReports. test-sms.c. 2010-06-07 9:53 ` [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Pasi Miettinen @ 2010-06-07 9:53 ` Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 3/4] SetProperty for UseDeliveryReports. sms.c Pasi Miettinen 2010-06-07 10:14 ` VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Miettinen Pasi 1 sibling, 1 reply; 7+ messages in thread From: Pasi Miettinen @ 2010-06-07 9:53 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 1722 bytes --] --- unit/test-sms.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/unit/test-sms.c b/unit/test-sms.c index d7d97f3..aec725b 100644 --- a/unit/test-sms.c +++ b/unit/test-sms.c @@ -685,7 +685,7 @@ static void test_assembly() if (g_test_verbose()) g_printf("Text:\n%s\n", utf8); - l = sms_text_prepare(utf8, ref, TRUE, NULL); + l = sms_text_prepare(utf8, ref, TRUE, NULL, FALSE); g_assert(l); g_assert(g_slist_length(l) == 3); @@ -715,7 +715,7 @@ static void test_prepare_7bit() int encoded_tpdu_len; char *encoded_pdu; - r = sms_text_prepare(test_no_fragmentation_7bit, 0, FALSE, NULL); + r = sms_text_prepare(test_no_fragmentation_7bit, 0, FALSE, NULL, FALSE); g_assert(r != NULL); @@ -798,8 +798,7 @@ static void test_prepare_concat(gconstpointer data) if (g_test_verbose()) g_print("strlen: %zd\n", strlen(test->str)); - r = sms_text_prepare(test->str, 0, TRUE, NULL); - + r = sms_text_prepare(test->str, 0, TRUE, NULL, FALSE); g_assert(r); g_assert(g_slist_length(r) == test->segments); @@ -875,7 +874,7 @@ static void test_limit(gunichar uni, int target_size, gboolean use_16bit) utf8[i] = '\0'; - l = sms_text_prepare(utf8, 0, use_16bit, NULL); + l = sms_text_prepare(utf8, 0, use_16bit, NULL, FALSE); g_assert(l); g_assert(g_slist_length(l) == 255); @@ -888,7 +887,7 @@ static void test_limit(gunichar uni, int target_size, gboolean use_16bit) memcpy(utf8 + i, utf8_char, stride); utf8[i+stride] = '\0'; - l = sms_text_prepare(utf8, 0, use_16bit, NULL); + l = sms_text_prepare(utf8, 0, use_16bit, NULL, FALSE); g_assert(l == NULL); g_free(utf8); -- 1.6.0.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH 3/4] SetProperty for UseDeliveryReports. sms.c. 2010-06-07 9:53 ` [RFC PATCH 2/4] SetProperty for UseDeliveryReports. test-sms.c Pasi Miettinen @ 2010-06-07 9:53 ` Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 4/4] SetProperty for UseDeliveryReports. send-sms Pasi Miettinen 0 siblings, 1 reply; 7+ messages in thread From: Pasi Miettinen @ 2010-06-07 9:53 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 2766 bytes --] --- src/sms.c | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 deletions(-) diff --git a/src/sms.c b/src/sms.c index c0e9fc4..0bd35c2 100644 --- a/src/sms.c +++ b/src/sms.c @@ -67,6 +67,7 @@ struct ofono_sms { const struct ofono_sms_driver *driver; void *driver_data; struct ofono_atom *atom; + ofono_bool_t use_delivery_reports; }; struct pending_pdu { @@ -131,6 +132,9 @@ static DBusMessage *generate_get_properties_reply(struct ofono_sms *sms, ofono_dbus_dict_append(&dict, "ServiceCenterAddress", DBUS_TYPE_STRING, &sca); + ofono_dbus_dict_append(&dict, "UseDeliveryReports", DBUS_TYPE_BOOLEAN, + &sms->use_delivery_reports); + dbus_message_iter_close_container(&iter, &dict); return reply; @@ -260,6 +264,27 @@ static DBusMessage *sms_set_property(DBusConnection *conn, DBusMessage *msg, return NULL; } + if (!strcmp(property, "UseDeliveryReports")) { + const char *path = __ofono_atom_get_path(sms->atom); + dbus_bool_t value; + + if (dbus_message_iter_get_arg_type(&var) != DBUS_TYPE_BOOLEAN) + return __ofono_error_invalid_args(msg); + + dbus_message_iter_get_basic(&var, &value); + + sms->use_delivery_reports = value; + + g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID); + + ofono_dbus_signal_property_changed(conn, path, + OFONO_SMS_MANAGER_INTERFACE, + "UseDeliveryReports", + DBUS_TYPE_BOOLEAN, &value); + + return NULL; + } + return __ofono_error_invalid_args(msg); } @@ -426,7 +451,8 @@ static DBusMessage *sms_send_message(DBusConnection *conn, DBusMessage *msg, if (valid_phone_number_format(to) == FALSE) return __ofono_error_invalid_format(msg); - msg_list = sms_text_prepare(text, 0, TRUE, &ref_offset); + msg_list = sms_text_prepare(text, 0, TRUE, &ref_offset, + sms->use_delivery_reports); if (!msg_list) return __ofono_error_invalid_format(msg); @@ -895,6 +921,9 @@ static void sms_remove(struct ofono_atom *atom) "NextMessageId", sms->next_msg_id); g_key_file_set_integer(sms->settings, SETTINGS_GROUP, "NextReference", sms->ref); + g_key_file_set_boolean(sms->settings, SETTINGS_GROUP, + "UseDeliveryReports", + sms->use_delivery_reports); storage_close(sms->imsi, SETTINGS_STORE, sms->settings, TRUE); @@ -981,6 +1010,9 @@ static void sms_load_settings(struct ofono_sms *sms, const char *imsi) "NextMessageId", NULL); sms->ref = g_key_file_get_integer(sms->settings, SETTINGS_GROUP, "NextReference", NULL); + sms->use_delivery_reports = + g_key_file_get_boolean(sms->settings, SETTINGS_GROUP, + "UseDeliveryReports", NULL); if (sms->ref >= 65536) sms->ref = 1; -- 1.6.0.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH 4/4] SetProperty for UseDeliveryReports. send-sms. 2010-06-07 9:53 ` [RFC PATCH 3/4] SetProperty for UseDeliveryReports. sms.c Pasi Miettinen @ 2010-06-07 9:53 ` Pasi Miettinen 0 siblings, 0 replies; 7+ messages in thread From: Pasi Miettinen @ 2010-06-07 9:53 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 704 bytes --] --- test/send-sms | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/test/send-sms b/test/send-sms index 8024fda..4f1d658 100755 --- a/test/send-sms +++ b/test/send-sms @@ -15,4 +15,10 @@ path = properties["Modems"][0] manager = dbus.Interface(bus.get_object('org.ofono', path), 'org.ofono.SmsManager') -manager.SendMessage(sys.argv[1], sys.argv[2]) +if len(sys.argv) == 4: + if sys.argv[3] == "1": + manager.SetProperty("UseDeliveryReports", dbus.Boolean(1)) + manager.SendMessage(sys.argv[1], sys.argv[2]) +else: + manager.SetProperty("UseDeliveryReports", dbus.Boolean(0)) + manager.SendMessage(sys.argv[1], sys.argv[2]) -- 1.6.0.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h. 2010-06-07 9:53 ` [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 2/4] SetProperty for UseDeliveryReports. test-sms.c Pasi Miettinen @ 2010-06-07 10:14 ` Miettinen Pasi 2010-06-07 18:16 ` Denis Kenzior 1 sibling, 1 reply; 7+ messages in thread From: Miettinen Pasi @ 2010-06-07 10:14 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 978 bytes --] > --- > src/smsutil.c | 5 +++-- > src/smsutil.h | 3 ++- > 2 files changed, 5 insertions(+), 3 deletions(-) > | > diff --git a/src/smsutil.h b/src/smsutil.h > index a36a9d3..cfb2765 100644 > --- a/src/smsutil.h > +++ b/src/smsutil.h > @@ -482,7 +482,8 @@ GSList *sms_assembly_add_fragment(struct sms_assembly *assembly, > void sms_assembly_expire(struct sms_assembly *assembly, time_t before); > > GSList *sms_text_prepare(const char *utf8, guint16 ref, > - gboolean use_16bit, int *ref_offset); > + gboolean use_16bit, int *ref_offset, > + const gboolean use_delivery_reports); > > gboolean cbs_dcs_decode(guint8 dcs, gboolean *udhi, enum sms_class *cls, > enum sms_charset *charset, gboolean *compressed, Ah, no need for const before gboolean, as Denis said. Do I need to send another patch, or can you remove it? Br, Pasi ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h. 2010-06-07 10:14 ` VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Miettinen Pasi @ 2010-06-07 18:16 ` Denis Kenzior 0 siblings, 0 replies; 7+ messages in thread From: Denis Kenzior @ 2010-06-07 18:16 UTC (permalink / raw) To: ofono [-- Attachment #1: Type: text/plain, Size: 669 bytes --] Hi Pasi, > > GSList *sms_text_prepare(const char *utf8, guint16 ref, > > - gboolean use_16bit, int *ref_offset); > > + gboolean use_16bit, int *ref_offset, > > + const gboolean use_delivery_reports); > > > > gboolean cbs_dcs_decode(guint8 dcs, gboolean *udhi, enum sms_class *cls, > > enum sms_charset *charset, gboolean *compressed, > > Ah, no need for const before gboolean, as Denis said. Do I need to send > another patch, or can you remove it? I applied all four patches and fixed it up for you... This time ;) Regards, -Denis ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-06-07 18:16 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-06-07 9:53 SetProperty for UseDeliveryReports Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 2/4] SetProperty for UseDeliveryReports. test-sms.c Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 3/4] SetProperty for UseDeliveryReports. sms.c Pasi Miettinen 2010-06-07 9:53 ` [RFC PATCH 4/4] SetProperty for UseDeliveryReports. send-sms Pasi Miettinen 2010-06-07 10:14 ` VS: [RFC PATCH 1/4] SetProperty for UseDeliveryReports. smsutil.c/h Miettinen Pasi 2010-06-07 18:16 ` Denis Kenzior
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.