diff options
author | Dan Williams <dcbw@redhat.com> | 2013-05-29 13:56:53 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2013-05-29 13:56:53 -0500 |
commit | 71be40e01e12386e7c6fbd26e9c2188e37078d5e (patch) | |
tree | c8cea7c0abd251f46d4f3f79dbe782c311a266ef | |
parent | 99978b9ad2157e66e857b4dc08b98dff47b43343 (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.c | 14 |
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 |