aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-modem-gsm-card.c28
-rw-r--r--src/mm-modem-gsm-network.c31
2 files changed, 53 insertions, 6 deletions
diff --git a/src/mm-modem-gsm-card.c b/src/mm-modem-gsm-card.c
index ffe4f2eb..85385b25 100644
--- a/src/mm-modem-gsm-card.c
+++ b/src/mm-modem-gsm-card.c
@@ -75,8 +75,32 @@ info_call_done (MMModemGsmCard *self,
if (error)
dbus_g_method_return_error (context, error);
- else
- dbus_g_method_return (context, manufacturer, model, version);
+ else {
+ GValueArray *array;
+ GValue value = { 0, };
+
+ array = g_value_array_new (3);
+
+ /* Manufacturer */
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_set_string (&value, manufacturer);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ /* Model */
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_set_string (&value, model);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ /* Version */
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_set_string (&value, version);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ dbus_g_method_return (context, array);
+ }
}
static void
diff --git a/src/mm-modem-gsm-network.c b/src/mm-modem-gsm-network.c
index c49aff4b..c302dead 100644
--- a/src/mm-modem-gsm-network.c
+++ b/src/mm-modem-gsm-network.c
@@ -116,9 +116,30 @@ reg_info_call_done (MMModemGsmNetwork *self,
if (error)
dbus_g_method_return_error (context, error);
else {
- dbus_g_method_return (context, status,
- oper_code ? oper_code : "",
- oper_name ? oper_name : "");
+ GValueArray *array;
+ GValue value = { 0, };
+
+ array = g_value_array_new (3);
+
+ /* Status */
+ g_value_init (&value, G_TYPE_UINT);
+ g_value_set_uint (&value, (guint32) status);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ /* Operator code */
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_set_string (&value, oper_code);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ /* Operator name */
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_set_string (&value, oper_name);
+ g_value_array_append (array, &value);
+ g_value_unset (&value);
+
+ dbus_g_method_return (context, array);
}
}
@@ -330,7 +351,9 @@ mm_modem_gsm_network_registration_info (MMModemGsmNetwork *self,
{
g_return_if_fail (MM_IS_MODEM_GSM_NETWORK (self));
- g_signal_emit (self, signals[REGISTRATION_INFO], 0, status, oper_code, oper_name);
+ g_signal_emit (self, signals[REGISTRATION_INFO], 0, status,
+ oper_code ? oper_code : "",
+ oper_name ? oper_name : "");
}
void