summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2013-05-29 13:56:53 -0500
committerDan Williams <dcbw@redhat.com>2013-05-29 13:56:53 -0500
commit71be40e01e12386e7c6fbd26e9c2188e37078d5e (patch)
treec8cea7c0abd251f46d4f3f79dbe782c311a266ef
parent99978b9ad2157e66e857b4dc08b98dff47b43343 (diff)
core: if no dial number is given, use standard ones
Most modems don't require a dial number these days, plus the user really shouldn't care about the number anyway; if it's required, ModemManager will construct the right one for you. So don't require a number at all.
-rw-r--r--src/mm-modem.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mm-modem.c b/src/mm-modem.c
index 341bb784..7aa94498 100644
--- a/src/mm-modem.c
+++ b/src/mm-modem.c
@@ -210,7 +210,6 @@ mm_modem_connect (MMModem *self,
g_return_if_fail (MM_IS_MODEM (self));
g_return_if_fail (callback != NULL);
- g_return_if_fail (number != NULL);
state = mm_modem_get_state (self);
if (state >= MM_MODEM_STATE_CONNECTING) {
@@ -230,6 +229,19 @@ mm_modem_connect (MMModem *self,
return;
}
+ /* If no number given, fake it */
+ if (!number) {
+ guint32 mtype = MM_MODEM_TYPE_UNKNOWN;
+
+ g_object_get (G_OBJECT (self), MM_MODEM_TYPE, &mtype, NULL);
+ if (mtype == MM_MODEM_TYPE_CDMA)
+ number = "#777";
+ else if (mtype == MM_MODEM_TYPE_GSM)
+ number = "*99#";
+ else
+ g_assert_not_reached ();
+ }
+
if (MM_MODEM_GET_INTERFACE (self)->connect)
MM_MODEM_GET_INTERFACE (self)->connect (self, number, callback, user_data);
else