diff options
author | Dan Williams <dcbw@redhat.com> | 2010-02-28 21:15:22 -0800 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-02-28 21:15:22 -0800 |
commit | 27ede83bd33f570504d25d370422e23034c8f529 (patch) | |
tree | c55a2f40dfdcc12b32568ded94e1b2d48ed77fad | |
parent | 28d065c1f15a7ebf9109abbdca2ba8e831291f13 (diff) |
trivial: rearrange some code
-rw-r--r-- | src/mm-generic-gsm.c | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index d26f1171..58f0f9a0 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -135,39 +135,6 @@ got_signal_quality (MMModem *modem, { } -void -mm_generic_gsm_set_reg_status (MMGenericGsm *modem, - MMModemGsmNetworkRegStatus status) -{ - MMGenericGsmPrivate *priv; - - g_return_if_fail (MM_IS_GENERIC_GSM (modem)); - - priv = MM_GENERIC_GSM_GET_PRIVATE (modem); - - if (priv->reg_status != status) { - priv->reg_status = status; - - g_debug ("Registration state changed: %d", status); - - if (status == MM_MODEM_GSM_NETWORK_REG_STATUS_HOME || - status == MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING) { - mm_serial_port_queue_command (priv->primary, "+COPS=3,2;+COPS?", 3, read_operator_code_done, modem); - mm_serial_port_queue_command (priv->primary, "+COPS=3,0;+COPS?", 3, read_operator_name_done, modem); - mm_modem_gsm_network_get_signal_quality (MM_MODEM_GSM_NETWORK (modem), got_signal_quality, NULL); - } else { - g_free (priv->oper_code); - g_free (priv->oper_name); - priv->oper_code = priv->oper_name = NULL; - - mm_modem_gsm_network_registration_info (MM_MODEM_GSM_NETWORK (modem), priv->reg_status, - priv->oper_code, priv->oper_name); - } - - mm_generic_gsm_update_enabled_state (modem, TRUE, MM_MODEM_STATE_REASON_NONE); - } -} - typedef struct { const char *result; const char *normalized; @@ -1124,6 +1091,40 @@ mm_generic_gsm_pending_registration_stop (MMGenericGsm *modem) } } +void +mm_generic_gsm_set_reg_status (MMGenericGsm *modem, + MMModemGsmNetworkRegStatus status) +{ + MMGenericGsmPrivate *priv; + + g_return_if_fail (MM_IS_GENERIC_GSM (modem)); + + priv = MM_GENERIC_GSM_GET_PRIVATE (modem); + + if (priv->reg_status != status) { + priv->reg_status = status; + + g_debug ("Registration state changed: %d", status); + + if (status == MM_MODEM_GSM_NETWORK_REG_STATUS_HOME || + status == MM_MODEM_GSM_NETWORK_REG_STATUS_ROAMING) { + mm_serial_port_queue_command (priv->primary, "+COPS=3,2;+COPS?", 3, read_operator_code_done, modem); + mm_serial_port_queue_command (priv->primary, "+COPS=3,0;+COPS?", 3, read_operator_name_done, modem); + mm_modem_gsm_network_get_signal_quality (MM_MODEM_GSM_NETWORK (modem), got_signal_quality, NULL); + } else { + g_free (priv->oper_code); + g_free (priv->oper_name); + priv->oper_code = priv->oper_name = NULL; + + mm_modem_gsm_network_registration_info (MM_MODEM_GSM_NETWORK (modem), priv->reg_status, + priv->oper_code, priv->oper_name); + } + + mm_generic_gsm_update_enabled_state (modem, TRUE, MM_MODEM_STATE_REASON_NONE); + } +} + +/* Returns TRUE if the modem is "done", ie has registered or been denied */ static gboolean reg_status_updated (MMGenericGsm *self, int new_value, GError **error) { |