diff options
author | Dan Williams <dcbw@redhat.com> | 2009-12-02 14:43:09 -0800 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2009-12-02 14:43:09 -0800 |
commit | 5bdabaabec5ecb64986036bf783196eeee3756e7 (patch) | |
tree | c875f5dabc4572b44f9fac60a78de4c01590eb48 /plugins/mm-modem-option.c | |
parent | 872fe9bf6bb0555f7e4df85fc06314a013404428 (diff) |
gsm: implement enable/connecting/disconnecting state handling
And consolidate generic port enable code in one place since pretty
much every modem needs that.
Diffstat (limited to 'plugins/mm-modem-option.c')
-rw-r--r-- | plugins/mm-modem-option.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/plugins/mm-modem-option.c b/plugins/mm-modem-option.c index e0ab0f18..2076ae66 100644 --- a/plugins/mm-modem-option.c +++ b/plugins/mm-modem-option.c @@ -53,9 +53,7 @@ pin_check_done (MMModem *modem, GError *error, gpointer user_data) { MMCallbackInfo *info = (MMCallbackInfo *) user_data; - if (error) - info->error = g_error_copy (error); - mm_callback_info_schedule (info); + mm_generic_gsm_enable_complete (MM_GENERIC_GSM (modem), error, info); } static gboolean @@ -64,9 +62,9 @@ option_enabled (gpointer data) MMCallbackInfo *info = (MMCallbackInfo *) data; /* Now check the PIN explicitly, option doesn't seem to report - that it needs it otherwise */ + * that it needs it otherwise. + */ mm_generic_gsm_check_pin (MM_GENERIC_GSM (info->modem), pin_check_done, info); - return FALSE; } @@ -76,13 +74,14 @@ parent_enable_done (MMModem *modem, GError *error, gpointer user_data) MMCallbackInfo *info = (MMCallbackInfo *) user_data; if (error) { - info->error = g_error_copy (error); - mm_callback_info_schedule (info); - } else { - /* Option returns OK on +CFUN=1 right away but needs some time - to finish initialization */ - g_timeout_add_seconds (10, option_enabled, info); + mm_generic_gsm_enable_complete (MM_GENERIC_GSM (modem), error, info); + return; } + + /* Option returns OK on +CFUN=1 right away but needs some time + * to finish initialization + */ + g_timeout_add_seconds (10, option_enabled, info); } static void |