<div dir="ltr">+ori who's working on the PCO patch.<div><br></div><div>Ori, </div><div>Do we have an ETA for the PCO patch for mm? </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Oct 20, 2013 at 8:15 AM, Aleksander Morgado <span dir="ltr"><<a href="mailto:aleksander@lanedo.com" target="_blank">aleksander@lanedo.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 19/10/13 00:27, Prathmesh Prabhu wrote:<br>
> load_subscription_state is called only after a successful registration, so the<br>
> default behaviour should be to mark the SIM as provisioned.<br>
> This default behaviour is needed because it is not possible for plugins to<br>
> detect a successful registration state during the registration update itself.<br>
> So, this function is the first place where a plugin can detect a successful<br>
> registration update.<br>
> ---<br>
<br>
</div>Pushed, thanks.<br>
<br>
Any ETA for the altair patch with the more detailed info based on the PCO?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
>  src/mm-broadband-modem.c | 45 +++++++++++++++++++++++++++++++++++++++++++++<br>
>  1 file changed, 45 insertions(+)<br>
><br>
> diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c<br>
> index edac4cb..32fa672 100644<br>
> --- a/src/mm-broadband-modem.c<br>
> +++ b/src/mm-broadband-modem.c<br>
> @@ -3440,6 +3440,49 @@ modem_3gpp_load_operator_name (MMIfaceModem3gpp *self,<br>
>  }<br>
><br>
>  /*****************************************************************************/<br>
> +/* Subscription State Loading (3GPP interface) */<br>
> +<br>
> +static MMModem3gppSubscriptionState<br>
> +modem_3gpp_load_subscription_state_finish (MMIfaceModem3gpp *self,<br>
> +                                           GAsyncResult *res,<br>
> +                                           GError **error)<br>
> +{<br>
> +    if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error))<br>
> +        return MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN;<br>
> +<br>
> +    return (MMModem3gppSubscriptionState) GPOINTER_TO_UINT (<br>
> +        g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res)));<br>
> +}<br>
> +<br>
> +static void<br>
> +modem_3gpp_load_subscription_state (MMIfaceModem3gpp *self,<br>
> +                                    GAsyncReadyCallback callback,<br>
> +                                    gpointer user_data)<br>
> +{<br>
> +    GSimpleAsyncResult *result;<br>
> +<br>
> +    result = g_simple_async_result_new (G_OBJECT (self),<br>
> +                                        callback,<br>
> +                                        user_data,<br>
> +                                        modem_3gpp_load_subscription_state);<br>
> +<br>
> +   /* Reloading subscription state only occurs on a successfully registered<br>
> +    * modem. (Although the 3GPP interface does not reflect this until after<br>
> +    * loading operator information completes.)<br>
> +    * By default, we can assume that successful registration implies a<br>
> +    * provisioned SIM.<br>
> +    */<br>
> +    mm_dbg ("Load subscription state: Marking the SIM as provisioned.");<br>
> +    g_simple_async_result_set_op_res_gpointer (<br>
> +        result,<br>
> +        GUINT_TO_POINTER (MM_MODEM_3GPP_SUBSCRIPTION_STATE_PROVISIONED),<br>
> +        NULL);<br>
> +<br>
> +    g_simple_async_result_complete_in_idle (result);<br>
> +    g_object_unref (result);<br>
> +}<br>
> +<br>
> +/*****************************************************************************/<br>
>  /* Unsolicited registration messages handling (3GPP interface) */<br>
><br>
>  static gboolean<br>
> @@ -9626,6 +9669,8 @@ iface_modem_3gpp_init (MMIfaceModem3gpp *iface)<br>
>      iface->load_operator_code_finish = modem_3gpp_load_operator_code_finish;<br>
>      iface->load_operator_name = modem_3gpp_load_operator_name;<br>
>      iface->load_operator_name_finish = modem_3gpp_load_operator_name_finish;<br>
> +    iface->load_subscription_state = modem_3gpp_load_subscription_state;<br>
> +    iface->load_subscription_state_finish = modem_3gpp_load_subscription_state_finish;<br>
>      iface->run_registration_checks = modem_3gpp_run_registration_checks;<br>
>      iface->run_registration_checks_finish = modem_3gpp_run_registration_checks_finish;<br>
>      iface->register_in_network = modem_3gpp_register_in_network;<br>
><br>
<br>
<br>
--<br>
</div></div><span class="HOEnZb"><font color="#888888">Aleksander<br>
</font></span></blockquote></div><br></div>