aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-09-10 18:03:29 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-09-14 07:05:23 +0200
commitbddcc2fb07f96c9332b031a7b91bc5ba74b62149 (patch)
tree8335553b2a790b1c873dcd97686d447cd014a26a
parent584fc77bb361f8485c255bd5ce2bb9c6320efc21 (diff)
iface-modem-messaging: instead of mem1,mem2,mem3 use just a new default storage
There is no point in specifying a default 'mem1' memory storage, which is used for reading/listing/deleting, as those are operations that need a specific 'mem1' set each time. Also, there is no point in specifying separate default 'mem2' and 'mem3' memory storages, specially because now we allow Sms.Store() to specify a storage. So, we will now only have a 'default' memory storage, which is applicable for both 'mem2' and 'mem3' (storing, sending from storage and deleting).
-rw-r--r--introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml8
-rw-r--r--plugins/cinterion/mm-broadband-modem-cinterion.c2
-rw-r--r--plugins/iridium/mm-broadband-modem-iridium.c5
-rw-r--r--plugins/novatel/mm-broadband-modem-novatel-lte.c5
-rw-r--r--plugins/novatel/mm-broadband-modem-novatel.c6
-rw-r--r--src/mm-broadband-modem-qmi.c42
-rw-r--r--src/mm-broadband-modem.c90
-rw-r--r--src/mm-iface-modem-messaging.c66
-rw-r--r--src/mm-iface-modem-messaging.h28
-rw-r--r--src/mm-sms.c2
10 files changed, 90 insertions, 164 deletions
diff --git a/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml b/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
index cf1b6716..04080398 100644
--- a/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
+++ b/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
@@ -107,5 +107,13 @@
-->
<property name="SupportedStorages" type="au" access="read" />
+ <!--
+ DefaultStorage:
+
+ A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
+ specifying the storage to be used when receiving or storing SMS.
+ -->
+ <property name="DefaultStorage" type="u" access="read" />
+
</interface>
</node>
diff --git a/plugins/cinterion/mm-broadband-modem-cinterion.c b/plugins/cinterion/mm-broadband-modem-cinterion.c
index 1825f6a4..6fbe8380 100644
--- a/plugins/cinterion/mm-broadband-modem-cinterion.c
+++ b/plugins/cinterion/mm-broadband-modem-cinterion.c
@@ -1163,7 +1163,7 @@ mm_broadband_modem_cinterion_new (const gchar *device,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, MM_SMS_STORAGE_MT,
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, MM_SMS_STORAGE_MT,
NULL);
}
diff --git a/plugins/iridium/mm-broadband-modem-iridium.c b/plugins/iridium/mm-broadband-modem-iridium.c
index 020bcb41..5ecccf4f 100644
--- a/plugins/iridium/mm-broadband-modem-iridium.c
+++ b/plugins/iridium/mm-broadband-modem-iridium.c
@@ -410,9 +410,8 @@ mm_broadband_modem_iridium_new (const gchar *device,
MM_BASE_MODEM_MAX_TIMEOUTS, 3,
/* Only CS network is supported by the Iridium modem */
MM_IFACE_MODEM_3GPP_PS_NETWORK_SUPPORTED, FALSE,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, MM_SMS_STORAGE_SM,
+ /* 'ME' storage not supported */
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, MM_SMS_STORAGE_SM,
NULL);
}
diff --git a/plugins/novatel/mm-broadband-modem-novatel-lte.c b/plugins/novatel/mm-broadband-modem-novatel-lte.c
index 1cfe54b0..f2c83657 100644
--- a/plugins/novatel/mm-broadband-modem-novatel-lte.c
+++ b/plugins/novatel/mm-broadband-modem-novatel-lte.c
@@ -432,9 +432,8 @@ mm_broadband_modem_novatel_lte_new (const gchar *device,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, MM_SMS_STORAGE_SM,
+ /* 'ME' storage not supported */
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, MM_SMS_STORAGE_SM,
NULL);
}
diff --git a/plugins/novatel/mm-broadband-modem-novatel.c b/plugins/novatel/mm-broadband-modem-novatel.c
index 0191a9f3..0512e03f 100644
--- a/plugins/novatel/mm-broadband-modem-novatel.c
+++ b/plugins/novatel/mm-broadband-modem-novatel.c
@@ -753,10 +753,8 @@ mm_broadband_modem_novatel_new (const gchar *device,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
- /* Use SM storage always */
- MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, MM_SMS_STORAGE_SM,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, MM_SMS_STORAGE_SM,
+ /* 'ME' storage not supported */
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, MM_SMS_STORAGE_SM,
NULL);
}
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c
index 27233b85..1b3675ee 100644
--- a/src/mm-broadband-modem-qmi.c
+++ b/src/mm-broadband-modem-qmi.c
@@ -4919,12 +4919,12 @@ messaging_load_supported_storages (MMIfaceModemMessaging *self,
}
/*****************************************************************************/
-/* Set preferred storages (Messaging interface) */
+/* Set default storage (Messaging interface) */
static gboolean
-messaging_set_preferred_storages_finish (MMIfaceModemMessaging *self,
- GAsyncResult *res,
- GError **error)
+messaging_set_default_storage_finish (MMIfaceModemMessaging *self,
+ GAsyncResult *res,
+ GError **error)
{
return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error);
}
@@ -4956,29 +4956,11 @@ wms_set_routes_ready (QmiClientWms *client,
}
static void
-messaging_set_preferred_storages (MMIfaceModemMessaging *self,
- MMSmsStorage mem1,
- MMSmsStorage mem2,
- MMSmsStorage mem3,
- GAsyncReadyCallback callback,
- gpointer user_data)
+messaging_set_default_storage (MMIfaceModemMessaging *self,
+ MMSmsStorage storage,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
- /* In QMI, we don't need to specify neither a default 'mem1' storage (the
- * one used for listing, reading, deleting) nor a default 'mem2' storage
- * (the one used for writing/sending), as the QMI operations allow to
- * pass the specific storage directly in the command, as opposed to the
- * AT-way which is specifying the storage first and then performing an
- * operation on the default storage.
- *
- * Whenever a list/read/delete/write/send operation is received, we'll just
- * read the corresponding property to know in which storage to perform the
- * action.
- *
- * But for 'mem3', we do need to specify custom 'routes' to identify to
- * which storage the incoming messages should be transferred, so we'll use
- * that one.
- */
-
GSimpleAsyncResult *result;
QmiClient *client = NULL;
QmiMessageWmsSetRoutesInput *input;
@@ -4993,7 +4975,7 @@ messaging_set_preferred_storages (MMIfaceModemMessaging *self,
result = g_simple_async_result_new (G_OBJECT (self),
callback,
user_data,
- messaging_set_preferred_storages);
+ messaging_set_default_storage);
/* Build routes array and add it as input
* Just worry about Class 0 and Class 1 messages for now */
@@ -5001,7 +4983,7 @@ messaging_set_preferred_storages (MMIfaceModemMessaging *self,
routes_array = g_array_sized_new (FALSE, FALSE, sizeof (route), 2);
route.message_type = QMI_WMS_MESSAGE_TYPE_POINT_TO_POINT;
route.message_class = QMI_WMS_MESSAGE_CLASS_0;
- route.storage = mm_sms_storage_to_qmi_storage_type (mem3);
+ route.storage = mm_sms_storage_to_qmi_storage_type (storage);
route.receipt_action = QMI_WMS_RECEIPT_ACTION_STORE_AND_NOTIFY;
g_array_append_val (routes_array, route);
route.message_class = QMI_WMS_MESSAGE_CLASS_1;
@@ -5932,8 +5914,8 @@ iface_modem_messaging_init (MMIfaceModemMessaging *iface)
iface->load_supported_storages_finish = messaging_load_supported_storages_finish;
iface->setup_sms_format = NULL;
iface->setup_sms_format_finish = NULL;
- iface->set_preferred_storages = messaging_set_preferred_storages;
- iface->set_preferred_storages_finish = messaging_set_preferred_storages_finish;
+ iface->set_default_storage = messaging_set_default_storage;
+ iface->set_default_storage_finish = messaging_set_default_storage_finish;
iface->load_initial_sms_parts = load_initial_sms_parts;
iface->load_initial_sms_parts_finish = load_initial_sms_parts_finish;
iface->setup_unsolicited_events = messaging_setup_unsolicited_events;
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index c58e763e..d5eb7733 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -88,9 +88,7 @@ enum {
PROP_MODEM_CDMA_EVDO_NETWORK_SUPPORTED,
PROP_MODEM_MESSAGING_SMS_LIST,
PROP_MODEM_MESSAGING_SMS_PDU_MODE,
- PROP_MODEM_MESSAGING_SMS_MEM1_STORAGE,
- PROP_MODEM_MESSAGING_SMS_MEM2_STORAGE,
- PROP_MODEM_MESSAGING_SMS_MEM3_STORAGE,
+ PROP_MODEM_MESSAGING_SMS_DEFAULT_STORAGE,
PROP_MODEM_SIMPLE_STATUS,
PROP_LAST
};
@@ -164,9 +162,7 @@ struct _MMBroadbandModemPrivate {
GObject *modem_messaging_dbus_skeleton;
MMBearerList *modem_messaging_sms_list;
gboolean modem_messaging_sms_pdu_mode;
- MMSmsStorage modem_messaging_sms_mem1_storage;
- MMSmsStorage modem_messaging_sms_mem2_storage;
- MMSmsStorage modem_messaging_sms_mem3_storage;
+ MMSmsStorage modem_messaging_sms_default_storage;
/* Implementation helpers */
gboolean sms_supported_modes_checked;
GHashTable *known_sms_parts;
@@ -4315,12 +4311,12 @@ mm_broadband_modem_lock_sms_storages (MMBroadbandModem *self,
}
/*****************************************************************************/
-/* Set preferred SMS storage (Messaging interface) */
+/* Set default SMS storage (Messaging interface) */
static gboolean
-modem_messaging_set_preferred_storages_finish (MMIfaceModemMessaging *self,
- GAsyncResult *res,
- GError **error)
+modem_messaging_set_default_storage_finish (MMIfaceModemMessaging *self,
+ GAsyncResult *res,
+ GError **error)
{
return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error);
}
@@ -4342,42 +4338,33 @@ cpms_set_ready (MMBroadbandModem *self,
}
static void
-modem_messaging_set_preferred_storages (MMIfaceModemMessaging *_self,
- MMSmsStorage mem1,
- MMSmsStorage mem2,
- MMSmsStorage mem3,
- GAsyncReadyCallback callback,
- gpointer user_data)
+modem_messaging_set_default_storage (MMIfaceModemMessaging *_self,
+ MMSmsStorage storage,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
MMBroadbandModem *self = MM_BROADBAND_MODEM (_self);
gchar *cmd;
GSimpleAsyncResult *result;
- gchar *mem1_str;
- gchar *mem2_str;
- gchar *mem3_str;
+ gchar *mem_str;
result = g_simple_async_result_new (G_OBJECT (self),
callback,
user_data,
- modem_messaging_set_preferred_storages);
+ modem_messaging_set_default_storage);
/* Set defaults as current */
- self->priv->current_sms_mem1_storage = mem1;
- self->priv->current_sms_mem2_storage = mem2;
+ self->priv->current_sms_mem2_storage = storage;
- mem1_str = g_ascii_strup (mm_sms_storage_get_string (mem1), -1);
- mem2_str = g_ascii_strup (mm_sms_storage_get_string (mem2), -1);
- mem3_str = g_ascii_strup (mm_sms_storage_get_string (mem3), -1);
- cmd = g_strdup_printf ("+CPMS=\"%s\",\"%s\",\"%s\"", mem1_str, mem2_str, mem3_str);
+ mem_str = g_ascii_strup (mm_sms_storage_get_string (storage), -1);
+ cmd = g_strdup_printf ("+CPMS=\"\",\"%s\",\"%s\"", mem_str, mem_str);
mm_base_modem_at_command (MM_BASE_MODEM (self),
cmd,
3,
FALSE,
(GAsyncReadyCallback)cpms_set_ready,
result);
- g_free (mem1_str);
- g_free (mem2_str);
- g_free (mem3_str);
+ g_free (mem_str);
g_free (cmd);
}
@@ -4562,8 +4549,7 @@ sms_part_ready (MMBroadbandModem *self,
mm_iface_modem_messaging_take_part (MM_IFACE_MODEM_MESSAGING (self),
part,
MM_SMS_STATE_RECEIVED,
- /* use default reception (mem3) storage */
- self->priv->modem_messaging_sms_mem3_storage);
+ self->priv->modem_messaging_sms_default_storage);
} else {
/* Don't treat the error as critical */
mm_dbg ("Error parsing PDU (%d): %s", ctx->idx, error->message);
@@ -7863,14 +7849,8 @@ set_property (GObject *object,
case PROP_MODEM_MESSAGING_SMS_PDU_MODE:
self->priv->modem_messaging_sms_pdu_mode = g_value_get_boolean (value);
break;
- case PROP_MODEM_MESSAGING_SMS_MEM1_STORAGE:
- self->priv->modem_messaging_sms_mem1_storage = g_value_get_enum (value);
- break;
- case PROP_MODEM_MESSAGING_SMS_MEM2_STORAGE:
- self->priv->modem_messaging_sms_mem2_storage = g_value_get_enum (value);
- break;
- case PROP_MODEM_MESSAGING_SMS_MEM3_STORAGE:
- self->priv->modem_messaging_sms_mem3_storage = g_value_get_enum (value);
+ case PROP_MODEM_MESSAGING_SMS_DEFAULT_STORAGE:
+ self->priv->modem_messaging_sms_default_storage = g_value_get_enum (value);
break;
case PROP_MODEM_SIMPLE_STATUS:
g_clear_object (&self->priv->modem_simple_status);
@@ -7951,14 +7931,8 @@ get_property (GObject *object,
case PROP_MODEM_MESSAGING_SMS_PDU_MODE:
g_value_set_boolean (value, self->priv->modem_messaging_sms_pdu_mode);
break;
- case PROP_MODEM_MESSAGING_SMS_MEM1_STORAGE:
- g_value_set_enum (value, self->priv->modem_messaging_sms_mem1_storage);
- break;
- case PROP_MODEM_MESSAGING_SMS_MEM2_STORAGE:
- g_value_set_enum (value, self->priv->modem_messaging_sms_mem2_storage);
- break;
- case PROP_MODEM_MESSAGING_SMS_MEM3_STORAGE:
- g_value_set_enum (value, self->priv->modem_messaging_sms_mem3_storage);
+ case PROP_MODEM_MESSAGING_SMS_DEFAULT_STORAGE:
+ g_value_set_enum (value, self->priv->modem_messaging_sms_default_storage);
break;
case PROP_MODEM_SIMPLE_STATUS:
g_value_set_object (value, self->priv->modem_simple_status);
@@ -7986,9 +7960,9 @@ mm_broadband_modem_init (MMBroadbandModem *self)
self->priv->modem_cdma_evdo_registration_state = MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN;
self->priv->modem_cdma_cdma1x_network_supported = TRUE;
self->priv->modem_cdma_evdo_network_supported = TRUE;
- self->priv->modem_messaging_sms_mem1_storage = MM_SMS_STORAGE_ME;
- self->priv->modem_messaging_sms_mem2_storage = MM_SMS_STORAGE_ME;
- self->priv->modem_messaging_sms_mem3_storage = MM_SMS_STORAGE_ME;
+ self->priv->modem_messaging_sms_default_storage = MM_SMS_STORAGE_ME;
+ self->priv->current_sms_mem1_storage = MM_SMS_STORAGE_UNKNOWN;
+ self->priv->current_sms_mem2_storage = MM_SMS_STORAGE_UNKNOWN;
}
static void
@@ -8224,8 +8198,8 @@ iface_modem_messaging_init (MMIfaceModemMessaging *iface)
iface->check_support_finish = modem_messaging_check_support_finish;
iface->load_supported_storages = modem_messaging_load_supported_storages;
iface->load_supported_storages_finish = modem_messaging_load_supported_storages_finish;
- iface->set_preferred_storages = modem_messaging_set_preferred_storages;
- iface->set_preferred_storages_finish = modem_messaging_set_preferred_storages_finish;
+ iface->set_default_storage = modem_messaging_set_default_storage;
+ iface->set_default_storage_finish = modem_messaging_set_default_storage_finish;
iface->setup_sms_format = modem_messaging_setup_sms_format;
iface->setup_sms_format_finish = modem_messaging_setup_sms_format_finish;
iface->load_initial_sms_parts = modem_messaging_load_initial_sms_parts;
@@ -8354,16 +8328,8 @@ mm_broadband_modem_class_init (MMBroadbandModemClass *klass)
MM_IFACE_MODEM_MESSAGING_SMS_PDU_MODE);
g_object_class_override_property (object_class,
- PROP_MODEM_MESSAGING_SMS_MEM1_STORAGE,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE);
-
- g_object_class_override_property (object_class,
- PROP_MODEM_MESSAGING_SMS_MEM2_STORAGE,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE);
-
- g_object_class_override_property (object_class,
- PROP_MODEM_MESSAGING_SMS_MEM3_STORAGE,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE);
+ PROP_MODEM_MESSAGING_SMS_DEFAULT_STORAGE,
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE);
g_object_class_override_property (object_class,
PROP_MODEM_SIMPLE_STATUS,
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c
index fe287a88..31fc96a3 100644
--- a/src/mm-iface-modem-messaging.c
+++ b/src/mm-iface-modem-messaging.c
@@ -719,14 +719,14 @@ load_initial_sms_parts_ready (MMIfaceModemMessaging *self,
}
static void
-set_preferred_storages_ready (MMIfaceModemMessaging *self,
- GAsyncResult *res,
- EnablingContext *ctx)
+set_default_storage_ready (MMIfaceModemMessaging *self,
+ GAsyncResult *res,
+ EnablingContext *ctx)
{
GError *error = NULL;
- if (!MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (self)->set_preferred_storages_finish (self, res, &error)) {
- mm_dbg ("Couldn't set preferred storages: '%s'", error->message);
+ if (!MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (self)->set_default_storage_finish (self, res, &error)) {
+ mm_dbg ("Couldn't set default storage: '%s'", error->message);
g_error_free (error);
}
@@ -838,39 +838,34 @@ interface_enabling_step (EnablingContext *ctx)
case ENABLING_STEP_STORAGE_DEFAULTS:
/* Set storage defaults */
- if (MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_preferred_storages &&
- MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_preferred_storages_finish) {
+ if (MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_default_storage &&
+ MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_default_storage_finish) {
StorageContext *storage_ctx;
- MMSmsStorage default_mem1 = MM_SMS_STORAGE_UNKNOWN;
- MMSmsStorage default_mem2 = MM_SMS_STORAGE_UNKNOWN;
- MMSmsStorage default_mem3 = MM_SMS_STORAGE_UNKNOWN;
+ MMSmsStorage default_storage = MM_SMS_STORAGE_UNKNOWN;
GError *error = NULL;
- mm_dbg ("Setting default preferred storages...");
+ mm_dbg ("Setting default storage...");
g_object_get (ctx->self,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE, &default_mem1,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, &default_mem2,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, &default_mem3,
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, &default_storage,
NULL);
- g_assert (default_mem1 != MM_SMS_STORAGE_UNKNOWN);
- g_assert (default_mem2 != MM_SMS_STORAGE_UNKNOWN);
- g_assert (default_mem3 != MM_SMS_STORAGE_UNKNOWN);
+ g_assert (default_storage != MM_SMS_STORAGE_UNKNOWN);
/* Check if the requested storages are really supported */
storage_ctx = get_storage_context (ctx->self);
- if (!is_storage_supported (storage_ctx->supported_mem1, default_mem1, "reading/listing/deleting", &error) ||
- !is_storage_supported (storage_ctx->supported_mem2, default_mem2, "storing", &error) ||
- !is_storage_supported (storage_ctx->supported_mem3, default_mem3, "receiving", &error)) {
+ if (!is_storage_supported (storage_ctx->supported_mem2, default_storage, "storing", &error) ||
+ !is_storage_supported (storage_ctx->supported_mem3, default_storage, "receiving", &error)) {
g_simple_async_result_take_error (ctx->result, error);
enabling_context_complete_and_free (ctx);
return;
}
- MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_preferred_storages (
+ mm_gdbus_modem_messaging_set_default_storage (ctx->skeleton, default_storage);
+
+ MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (ctx->self)->set_default_storage (
ctx->self,
- default_mem1, default_mem2, default_mem3,
- (GAsyncReadyCallback)set_preferred_storages_ready,
+ default_storage,
+ (GAsyncReadyCallback)set_default_storage_ready,
ctx);
return;
}
@@ -1231,6 +1226,7 @@ mm_iface_modem_messaging_initialize (MMIfaceModemMessaging *self,
NULL);
if (!skeleton) {
skeleton = mm_gdbus_modem_messaging_skeleton_new ();
+ mm_gdbus_modem_messaging_set_supported_storages (skeleton, NULL);
g_object_set (self,
MM_IFACE_MODEM_MESSAGING_DBUS_SKELETON, skeleton,
@@ -1294,27 +1290,9 @@ iface_modem_messaging_init (gpointer g_iface)
g_object_interface_install_property
(g_iface,
- g_param_spec_enum (MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE,
- "SMS mem1 storage",
- "Default storage to be used when listing/reading/deleting SMS messages",
- MM_TYPE_SMS_STORAGE,
- MM_SMS_STORAGE_ME,
- G_PARAM_READWRITE));
-
- g_object_interface_install_property
- (g_iface,
- g_param_spec_enum (MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE,
- "SMS mem2 storage",
- "Default storage to be used when writing/sending SMS messages",
- MM_TYPE_SMS_STORAGE,
- MM_SMS_STORAGE_ME,
- G_PARAM_READWRITE));
-
- g_object_interface_install_property
- (g_iface,
- g_param_spec_enum (MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE,
- "SMS mem3 storage",
- "Default storage to be used when receiving SMS messages",
+ g_param_spec_enum (MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE,
+ "SMS default storage",
+ "Default storage to be used when storing/receiving SMS messages",
MM_TYPE_SMS_STORAGE,
MM_SMS_STORAGE_ME,
G_PARAM_READWRITE));
diff --git a/src/mm-iface-modem-messaging.h b/src/mm-iface-modem-messaging.h
index 50c4352c..c2b5d859 100644
--- a/src/mm-iface-modem-messaging.h
+++ b/src/mm-iface-modem-messaging.h
@@ -28,12 +28,10 @@
#define MM_IS_IFACE_MODEM_MESSAGING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_IFACE_MODEM_MESSAGING))
#define MM_IFACE_MODEM_MESSAGING_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MM_TYPE_IFACE_MODEM_MESSAGING, MMIfaceModemMessaging))
-#define MM_IFACE_MODEM_MESSAGING_DBUS_SKELETON "iface-modem-messaging-dbus-skeleton"
-#define MM_IFACE_MODEM_MESSAGING_SMS_LIST "iface-modem-messaging-sms-list"
-#define MM_IFACE_MODEM_MESSAGING_SMS_PDU_MODE "iface-modem-messaging-sms-pdu-mode"
-#define MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE "iface-modem-messaging-sms-mem1-storage"
-#define MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE "iface-modem-messaging-sms-mem2-storage"
-#define MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE "iface-modem-messaging-sms-mem3-storage"
+#define MM_IFACE_MODEM_MESSAGING_DBUS_SKELETON "iface-modem-messaging-dbus-skeleton"
+#define MM_IFACE_MODEM_MESSAGING_SMS_LIST "iface-modem-messaging-sms-list"
+#define MM_IFACE_MODEM_MESSAGING_SMS_PDU_MODE "iface-modem-messaging-sms-pdu-mode"
+#define MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE "iface-modem-messaging-sms-default-storage"
typedef struct _MMIfaceModemMessaging MMIfaceModemMessaging;
@@ -63,16 +61,14 @@ struct _MMIfaceModemMessaging {
GArray **mem3,
GError **error);
- /* Set preferred storages (async) */
- void (* set_preferred_storages) (MMIfaceModemMessaging *self,
- MMSmsStorage mem1,
- MMSmsStorage mem2,
- MMSmsStorage mem3,
- GAsyncReadyCallback callback,
- gpointer user_data);
- gboolean (*set_preferred_storages_finish) (MMIfaceModemMessaging *self,
- GAsyncResult *res,
- GError **error);
+ /* Set default storage (async) */
+ void (* set_default_storage) (MMIfaceModemMessaging *self,
+ MMSmsStorage storage,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+ gboolean (*set_default_storage_finish) (MMIfaceModemMessaging *self,
+ GAsyncResult *res,
+ GError **error);
/* Setup SMS format (async) */
void (* setup_sms_format) (MMIfaceModemMessaging *self,
diff --git a/src/mm-sms.c b/src/mm-sms.c
index d5da1d90..aafd9298 100644
--- a/src/mm-sms.c
+++ b/src/mm-sms.c
@@ -187,7 +187,7 @@ handle_store (MMSms *self,
if (ctx->storage == MM_SMS_STORAGE_UNKNOWN) {
/* We'll set now the proper storage, taken from the default mem2 one */
g_object_get (self->priv->modem,
- MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, &ctx->storage,
+ MM_IFACE_MODEM_MESSAGING_SMS_DEFAULT_STORAGE, &ctx->storage,
NULL);
g_assert (ctx->storage != MM_SMS_STORAGE_UNKNOWN);
}