Example #1
0
static void
enable_ready (MMModem      *modem,
              GAsyncResult *result,
              gpointer      nothing)
{
    gboolean operation_result;
    GError *error = NULL;

    operation_result = mm_modem_enable_finish (modem, result, &error);
    enable_process_reply (operation_result, error);

    mmcli_async_operation_done ();
}
Example #2
0
static void
on_modem_enabled (GObject      *source_object,
                  GAsyncResult *res,
                  gpointer      user_data)
{
        GClueModemSource *source= GCLUE_MODEM_SOURCE (user_data);
        GClueModemSourcePrivate *priv = source->priv;
        MMModemLocationSource caps;
        GError *error = NULL;

        if (!mm_modem_enable_finish (priv->modem, res, &error)) {
                if (error->code == MM_CORE_ERROR_IN_PROGRESS)
                        /* Seems another source instance is already on it */
                        g_signal_connect (G_OBJECT (priv->modem_location),
                                          "notify::location",
                                          G_CALLBACK (on_location_changed),
                                          user_data);
                else
                        g_warning ("Failed to enable modem: %s", error->message);
                g_error_free (error);

                return;
        }

        g_signal_connect (G_OBJECT (priv->modem_location),
                          "notify::location",
                          G_CALLBACK (on_location_changed),
                          user_data);

        caps = mm_modem_location_get_capabilities (priv->modem_location);

        mm_modem_location_setup (priv->modem_location,
                                 caps,
                                 TRUE,
                                 priv->cancellable,
                                 on_modem_location_setup,
                                 user_data);
}