aboutsummaryrefslogtreecommitdiff
path: root/src/mm-iface-modem-messaging.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-iface-modem-messaging.c')
-rw-r--r--src/mm-iface-modem-messaging.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c
index 51c8b24e..941e58e0 100644
--- a/src/mm-iface-modem-messaging.c
+++ b/src/mm-iface-modem-messaging.c
@@ -433,7 +433,8 @@ handle_set_default_storage_ready (MMIfaceModemMessaging *self,
GAsyncResult *res,
HandleSetDefaultStorageContext *ctx)
{
- GError *error = NULL;
+ GError *error = NULL;
+ g_autoptr(MMSmsList) list = NULL;
if (!MM_IFACE_MODEM_MESSAGING_GET_IFACE (self)->set_default_storage_finish (self, res, &error)) {
mm_obj_warn (self, "could not set default storage: %s", error->message);
@@ -446,6 +447,13 @@ handle_set_default_storage_ready (MMIfaceModemMessaging *self,
MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, ctx->storage,
NULL);
+ /* Update default storage in all SMSs too */
+ g_object_get (self,
+ MM_IFACE_MODEM_MESSAGING_SMS_LIST, &list,
+ NULL);
+ if (list)
+ mm_sms_list_set_default_storage (list, ctx->storage);
+
mm_obj_info (self, "set the default storage successfully");
mm_gdbus_modem_messaging_complete_set_default_storage (ctx->skeleton, ctx->invocation);
handle_set_default_storage_context_free (ctx);
@@ -598,6 +606,18 @@ mm_iface_modem_messaging_is_storage_supported_for_receiving (MMIfaceModemMessagi
error);
}
+MMSmsStorage
+mm_iface_modem_messaging_get_default_storage (MMIfaceModemMessaging *self)
+{
+ MMSmsStorage storage = MM_SMS_STORAGE_UNKNOWN;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, &storage,
+ NULL);
+ g_assert (storage != MM_SMS_STORAGE_UNKNOWN);
+ return storage;
+}
+
/*****************************************************************************/
static void