/** * gs_plugin_packagekit_progress_cb: **/ static void gs_plugin_packagekit_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data) { ProgressData *data = (ProgressData *) user_data; GsPlugin *plugin = data->plugin; GsPluginStatus plugin_status; PkStatusEnum status; if (type != PK_PROGRESS_TYPE_STATUS) return; g_object_get (progress, "status", &status, NULL); /* profile */ if (status == PK_STATUS_ENUM_SETUP) { data->ptask = as_profile_start_literal (plugin->profile, "packagekit-refresh::transaction"); } else if (status == PK_STATUS_ENUM_FINISHED) { g_clear_pointer (&data->ptask, as_profile_task_free); } plugin_status = packagekit_status_enum_to_plugin_status (status); if (plugin_status != GS_PLUGIN_STATUS_UNKNOWN) gs_plugin_status_update (plugin, NULL, plugin_status); }
static void gs_plugin_packagekit_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data) { ProgressData *data = (ProgressData *) user_data; GsPlugin *plugin = data->plugin; if (type == PK_PROGRESS_TYPE_STATUS) { GsPluginStatus plugin_status; PkStatusEnum status; g_object_get (progress, "status", &status, NULL); /* profile */ if (status == PK_STATUS_ENUM_SETUP) { data->ptask = as_profile_start_literal (gs_plugin_get_profile (plugin), "packagekit-refine::transaction"); } else if (status == PK_STATUS_ENUM_FINISHED) { g_clear_pointer (&data->ptask, as_profile_task_free); } plugin_status = packagekit_status_enum_to_plugin_status (status); if (plugin_status != GS_PLUGIN_STATUS_UNKNOWN) gs_plugin_status_update (plugin, data->app, plugin_status); } else if (type == PK_PROGRESS_TYPE_PERCENTAGE) { gint percentage = pk_progress_get_percentage (progress); if (data->app != NULL && percentage >= 0 && percentage <= 100) gs_app_set_progress (data->app, (guint) percentage); } }
/** * gs_plugin_packagekit_progress_cb: **/ static void gs_plugin_packagekit_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data) { ProgressData *data = (ProgressData *) user_data; GsPlugin *plugin = data->plugin; if (type == PK_PROGRESS_TYPE_STATUS) { GsPluginStatus plugin_status; PkStatusEnum status = pk_progress_get_status (progress); plugin_status = packagekit_status_enum_to_plugin_status (status); if (plugin_status != GS_PLUGIN_STATUS_UNKNOWN) gs_plugin_status_update (plugin, NULL, plugin_status); } else if (type == PK_PROGRESS_TYPE_PERCENTAGE) { gint percentage = pk_progress_get_percentage (progress); if (percentage >= 0 && percentage <= 100) gs_app_set_progress (data->app, percentage); } }