[gnome-packagekit/glib2: 21/79] moo



commit dcbc50633f5a53c6246129d8384512dff4ede63c
Author: Richard Hughes <richard hughsie com>
Date:   Wed Sep 16 18:44:50 2009 +0100

    moo

 src/gpk-application.c   |   44 +++++------------------
 src/gpk-auto-refresh.c  |    2 +-
 src/gpk-check-update.c  |   88 ++++++++++++++++-------------------------------
 src/gpk-dbus-task.c     |   66 +++++------------------------------
 src/gpk-firmware.c      |   10 +----
 src/gpk-service-pack.c  |    2 +-
 src/gpk-update-viewer.c |   46 +++----------------------
 src/gpk-watch.c         |   38 +++++++++++---------
 8 files changed, 80 insertions(+), 216 deletions(-)
---
diff --git a/src/gpk-application.c b/src/gpk-application.c
index 057292c..05321c9 100644
--- a/src/gpk-application.c
+++ b/src/gpk-application.c
@@ -368,7 +368,7 @@ gpk_application_set_buttons_apply_clear (GpkApplication *application)
 	g_return_if_fail (GPK_IS_APPLICATION (application));
 
 	/* okay to apply? */
-	len = PK_OBJ_LIST (application->priv->package_list)->len;
+	len = application->priv->package_list->len;
 	if (len == 0) {
 		widget = GTK_WIDGET (gtk_builder_get_object (application->priv->builder, "button_apply"));
 		gtk_widget_set_sensitive (widget, FALSE);
@@ -985,6 +985,7 @@ gpk_application_add_item_to_results (GpkApplication *application, const PkItemPa
 	gboolean enabled;
 	PkBitfield state = 0;
 	static guint package_cnt = 0;
+	gchar **split;
 
 	/* format if required */
 	egg_markdown_set_output (application->priv->markdown, EGG_MARKDOWN_OUTPUT_PANGO);
@@ -1007,7 +1008,9 @@ gpk_application_add_item_to_results (GpkApplication *application, const PkItemPa
 		pk_bitfield_add (state, GPK_STATE_COLLECTION);
 
 	/* use the application icon if available */
-	icon = gpk_desktop_guess_icon_name (application->priv->desktop, item->package_id->namexxxneedtosplitxxx);
+	split = pk_package_id_split (item->package_id);
+	icon = gpk_desktop_guess_icon_name (application->priv->desktop, split[PK_PACKAGE_ID_NAME]);
+	g_strfreev (split);
 	if (icon == NULL)
 		icon = gpk_application_state_get_icon (state);
 
@@ -1050,8 +1053,6 @@ gpk_application_package_cb (PkClient *client, const PkItemPackage *item, GpkAppl
 
 	g_return_if_fail (GPK_IS_APPLICATION (application));
 
-	egg_debug ("package = %s:%s:%s", pk_info_enum_to_text (item->info_enum), item->package_id->namexxxneedtosplitxxx, item->summary);
-
 	/* ignore not search data */
 #if PK_CHECK_VERSION(0,5,1)
 	g_object_get (client,
@@ -1087,14 +1088,6 @@ gpk_application_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gch
 	if (code == PK_ERROR_ENUM_TRANSACTION_CANCELLED)
 		return;
 
-	/* ignore the ones we can handle */
-	if (code == PK_ERROR_ENUM_NO_LICENSE_AGREEMENT ||
-	    code == PK_ERROR_ENUM_MEDIA_CHANGE_REQUIRED ||
-	    pk_error_code_is_need_untrusted (code)) {
-		egg_debug ("error ignored as we're handling %s\n%s", pk_error_enum_to_text (code), details);
-		return;
-	}
-
 	window = GTK_WINDOW (gtk_builder_get_object (application->priv->builder, "window_manager"));
 	gpk_error_dialog_modal (window, gpk_error_enum_to_localised_text (code),
 				gpk_error_enum_to_localised_message (code), details);
@@ -1340,7 +1333,7 @@ gpk_application_run_installed (GpkApplication *application)
 	/* get the package list and filter on INSTALLED */
 	array = g_ptr_array_new ();
 	list = pk_results_get_package_array (application->priv->client_primary);
-	len = PK_OBJ_LIST (list)->len;
+	len = list->len;
 	for (i=0; i<len; i++) {
 		item = g_ptr_array_index (list, i);
 		if (item->info_enum == PK_INFO_ENUM_INSTALLING)
@@ -1402,23 +1395,6 @@ gpk_application_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runti
 	gtk_widget_set_sensitive (widget, TRUE);
 	gpk_application_set_buttons_apply_clear (application);
 
-	/* need to handle retry with only_trusted=FALSE */
-	if (client == application->priv->client_primary &&
-	    exit_enum == PK_EXIT_ENUM_NEED_UNTRUSTED) {
-		egg_debug ("need to handle untrusted");
-		pk_client_set_only_trusted (client, FALSE);
-		gpk_application_primary_requeue (application);
-		return;
-	}
-
-	/* if secondary, ignore */
-	if (client == application->priv->client_primary &&
-	    (exit_enum == PK_EXIT_ENUM_KEY_REQUIRED ||
-	     exit_enum == PK_EXIT_ENUM_EULA_REQUIRED)) {
-		egg_debug ("ignoring primary sig-required or eula");
-		return;
-	}
-
 	if (role == PK_ROLE_ENUM_GET_CATEGORIES) {
 		/* get complex group list */
 		gpk_application_categories_finished (application);
@@ -1499,7 +1475,7 @@ gpk_application_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runti
 			gpk_application_run_installed (application);
 
 			/* clear if success */
-			pk_item_list_clear (PK_OBJ_LIST (application->priv->package_list));
+			pk_item_list_clear (application->priv->package_list);
 			application->priv->action = PK_ACTION_NONE;
 			gpk_application_set_buttons_apply_clear (application);
 		}
@@ -1665,7 +1641,7 @@ gpk_application_populate_selected (GpkApplication *application)
 	const PkItemPackage *item;
 
 	list = application->priv->package_list;
-	len = PK_OBJ_LIST (list)->len;
+	len = list->len;
 
 	/* nothing in queue */
 	if (len == 0) {
@@ -1737,7 +1713,7 @@ gpk_application_quit (GpkApplication *application)
 	g_return_val_if_fail (GPK_IS_APPLICATION (application), FALSE);
 
 	/* do we have any items queued for removal or installation? */
-	len = PK_OBJ_LIST (application->priv->package_list)->len;
+	len = application->priv->package_list->len;
 	if (len != 0) {
 		window = GTK_WINDOW (gtk_builder_get_object (application->priv->builder, "window_manager"));
 		dialog = gtk_message_dialog_new (window, GTK_DIALOG_MODAL,
@@ -1928,7 +1904,7 @@ gpk_application_button_clear_cb (GtkWidget *widget_button, GpkApplication *appli
 	}
 
 	/* clear queue */
-	pk_item_list_clear (PK_OBJ_LIST (application->priv->package_list));
+	pk_item_list_clear (application->priv->package_list);
 
 	/* force a button refresh */
 	selection = gtk_tree_view_get_selection (treeview);
diff --git a/src/gpk-auto-refresh.c b/src/gpk-auto-refresh.c
index 79beeb6..76972b8 100644
--- a/src/gpk-auto-refresh.c
+++ b/src/gpk-auto-refresh.c
@@ -609,7 +609,7 @@ gpk_auto_refresh_init (GpkAutoRefresh *arefresh)
 			  G_CALLBACK (gpk_auto_refresh_notify_network_state_cb), arefresh);
 
 	/* get network state */
-	pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) gpk_auto_refresh_get_properties_cb, arefresh);
+	pk_control_get_properties_async (arefresh->priv->control, NULL, (GAsyncReadyCallback) gpk_auto_refresh_get_properties_cb, arefresh);
 
 	/* use a DkpClient */
 	arefresh->priv->client = dkp_client_new ();
diff --git a/src/gpk-check-update.c b/src/gpk-check-update.c
index 93ccaaa..7c4b743 100644
--- a/src/gpk-check-update.c
+++ b/src/gpk-check-update.c
@@ -69,7 +69,7 @@ struct GpkCheckUpdatePrivate
 	gboolean		 icon_inhibit_network_offline;
 	gboolean		 icon_inhibit_update_viewer_connected;
 	gchar			*icon_name;
-	PkTaskList		*tlist;
+	PkTransactionList	*tlist;
 	PkControl		*control;
 	GpkHelperRepoSignature	*helper_repo_signature;
 	GpkAutoRefresh		*arefresh;
@@ -546,6 +546,7 @@ gpk_check_update_client_info_to_bitfield (GpkCheckUpdate *cupdate, GPtrArray *li
 	guint i;
 	PkBitfield infos = 0;
 	const PkItemPackage *item;
+	gchar **split;
 
 	g_return_val_if_fail (GPK_IS_CHECK_UPDATE (cupdate), PK_INFO_ENUM_UNKNOWN);
 
@@ -560,7 +561,9 @@ gpk_check_update_client_info_to_bitfield (GpkCheckUpdate *cupdate, GPtrArray *li
 			egg_warning ("not found item %i", i);
 			break;
 		}
-		egg_debug ("%s %s", item->package_id->namexxxneedtosplitxxx, pk_info_enum_to_text (item->info_enum));
+		split = pk_package_id_split (item->package_id);
+		egg_debug ("%s %s", split[PK_PACKAGE_ID_NAME], pk_info_enum_to_text (item->info_enum));
+		g_strfreev (split);
 		pk_bitfield_add (infos, item->info_enum);
 	}
 	return infos;
@@ -687,8 +690,8 @@ gpk_check_update_query_updates (GpkCheckUpdate *cupdate, gboolean policy_action)
 	g_return_val_if_fail (GPK_IS_CHECK_UPDATE (cupdate), FALSE);
 
 	/* No point if we are already updating */
-	if (pk_task_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_PACKAGES) ||
-	    pk_task_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_SYSTEM)) {
+	if (pk_transaction_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_PACKAGES) ||
+	    pk_transaction_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_SYSTEM)) {
 		egg_debug ("Not checking for updates as already in progress");
 		goto out;
 	}
@@ -774,6 +777,7 @@ gpk_check_update_process_updates (GpkCheckUpdate *cupdate, GPtrArray *list, gboo
 	gchar *package_id;
 	gchar **package_ids;
 	GError *error = NULL;
+	gchar **split;
 
 	g_return_val_if_fail (GPK_IS_CHECK_UPDATE (cupdate), FALSE);
 
@@ -782,7 +786,7 @@ gpk_check_update_process_updates (GpkCheckUpdate *cupdate, GPtrArray *list, gboo
 
 	/* filter out the same package with multiple architectures */
 	pk_package_list_set_fuzzy_arch (list, TRUE);
-	pk_item_list_remove_duplicate (PK_OBJ_LIST(list));
+	pk_item_list_remove_duplicate (list);
 
 	/* we have updates to process */
 	status_security = g_string_new ("");
@@ -815,8 +819,9 @@ gpk_check_update_process_updates (GpkCheckUpdate *cupdate, GPtrArray *list, gboo
 			continue;
 
 		/* don't use a huge notification that won't fit on the screen */
-		g_string_append_printf (status_security, "<b>%s</b> - %s\n",
-					item->package_id->namexxxneedtosplitxxx, item->summary);
+		split = pk_package_id_split (item->package_id);
+		g_string_append_printf (status_security, "<b>%s</b> - %s\n", split[PK_PACKAGE_ID_NAME], item->summary);
+		g_strfreev (split);
 		if (++showing == GPK_CHECK_UPDATE_MAX_NUMBER_SECURITY_ENTRIES) {
 			more = security_array->len - showing;
 			/* TRANSLATORS: we have a notification that won't fit, so append on how many other we are not showing */
@@ -1012,14 +1017,14 @@ gpk_check_update_restart_schedule_cb (PkClient *client, GpkCheckUpdate *cupdate)
  * gpk_check_update_task_list_changed_cb:
  **/
 static void
-gpk_check_update_task_list_changed_cb (PkTaskList *tlist, GpkCheckUpdate *cupdate)
+gpk_check_update_task_list_changed_cb (PkTransactionList *tlist, GpkCheckUpdate *cupdate)
 {
 	g_return_if_fail (GPK_IS_CHECK_UPDATE (cupdate));
 
 	/* inhibit icon if we are updating */
 	cupdate->priv->icon_inhibit_update_in_progress =
-		(pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
-		 pk_task_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_PACKAGES));
+		(pk_transaction_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
+		 pk_transaction_list_contains_role (tlist, PK_ROLE_ENUM_UPDATE_PACKAGES));
 	gpk_check_update_set_icon_visibility (cupdate);
 }
 
@@ -1139,11 +1144,13 @@ out:
 }
 
 /**
- * gpk_check_update_network_status_changed_cb:
+ * gpk_check_update_notify_network_status_cb:
  **/
 static void
-gpk_check_update_network_status_changed_cb (PkControl *control, PkNetworkEnum state, GpkCheckUpdate *cupdate)
+gpk_check_update_notify_network_status_cb (PkControl *control, GParamSpec *pspec, GpkCheckUpdate *cupdate)
 {
+	g_object_get (control, "network-status", &state, NULL);
+
 	/* inhibit icon when we are offline */
 	cupdate->priv->icon_inhibit_network_offline = (state == PK_NETWORK_ENUM_OFFLINE);
 	gpk_check_update_set_icon_visibility (cupdate);
@@ -1179,12 +1186,6 @@ gpk_check_update_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gc
 		goto out;
 	}
 
-	/* ignore the ones we can handle */
-	if (pk_error_code_is_need_untrusted (code)) {
-		egg_debug ("error ignored as we're handling %s\n%s", pk_error_enum_to_text (code), details);
-		goto out;
-	}
-
 	/* get the role */
 	ret = pk_client_get_role (client, &role, NULL, &error);
 	if (!ret) {
@@ -1252,24 +1253,6 @@ gpk_check_update_repo_signature_required_cb (PkClient *client, const gchar *pack
 }
 
 /**
- * gpk_check_update_primary_requeue:
- **/
-static gboolean
-gpk_check_update_primary_requeue (GpkCheckUpdate *cupdate)
-{
-	gboolean ret;
-	GError *error = NULL;
-
-	/* retry new action */
-	ret = pk_client_requeue (cupdate->priv->client, &error);
-	if (!ret) {
-		egg_warning ("Failed to requeue: %s", error->message);
-		g_error_free (error);
-	}
-	return ret;
-}
-
-/**
  * gpk_check_update_finished_notify:
  **/
 static void
@@ -1285,6 +1268,7 @@ gpk_check_update_finished_notify (GpkCheckUpdate *cupdate, PkClient *client)
 	GString *message_text;
 	guint skipped_number = 0;
 	const gchar *message;
+	gchar **split;
 
 	/* check we got some packages */
 	list = pk_results_get_package_array (client);
@@ -1299,13 +1283,16 @@ gpk_check_update_finished_notify (GpkCheckUpdate *cupdate, PkClient *client)
 	/* find any we skipped */
 	for (i=0; i<list->len; i++) {
 		item = g_ptr_array_index (list, i);
+
+		split = pk_package_id_split (item->package_id);
 		egg_debug ("%s, %s, %s", pk_info_enum_to_text (item->info_enum),
-			  item->package_id->namexxxneedtosplitxxx, item->summary);
+			   split[PK_PACKAGE_ID_NAME], item->summary);
 		if (item->info_enum == PK_INFO_ENUM_BLOCKED) {
 			skipped_number++;
 			g_string_append_printf (message_text, "<b>%s</b> - %s\n",
-						item->package_id->namexxxneedtosplitxxx, item->summary);
+						split[PK_PACKAGE_ID_NAME], item->summary);
 		}
+		g_strfreev (split);
 	}
 	g_object_unref (list);
 
@@ -1381,21 +1368,6 @@ gpk_check_update_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runt
 	pk_client_get_role (client, &role, NULL, NULL);
 	egg_debug ("role: %s, exit: %s", pk_role_enum_to_text (role), pk_exit_enum_to_text (exit_enum));
 
-	/* need to handle retry with only_trusted=FALSE */
-	if (client == cupdate->priv->client &&
-	    exit_enum == PK_EXIT_ENUM_NEED_UNTRUSTED) {
-		egg_debug ("need to handle untrusted");
-		pk_client_set_only_trusted (client, FALSE);
-		gpk_check_update_primary_requeue (cupdate);
-		return;
-	}
-
-	/* we've just agreed to auth */
-	if (role == PK_ROLE_ENUM_INSTALL_SIGNATURE) {
-		if (exit_enum == PK_EXIT_ENUM_SUCCESS)
-			gpk_check_update_primary_requeue (cupdate);
-	}
-
 	/* get-updates */
 	if (role == PK_ROLE_ENUM_GET_UPDATES &&
 	    exit_enum == PK_EXIT_ENUM_SUCCESS) {
@@ -1505,18 +1477,18 @@ gpk_check_update_init (GpkCheckUpdate *cupdate)
 			  G_CALLBACK (gpk_check_update_updates_changed_cb), cupdate);
 	g_signal_connect (cupdate->priv->control, "restart-schedule",
 			  G_CALLBACK (gpk_check_update_restart_schedule_cb), cupdate);
-	g_signal_connect (cupdate->priv->control, "network-state-changed",
-			  G_CALLBACK (gpk_check_update_network_status_changed_cb), cupdate);
+	g_signal_connect (cupdate->priv->control, "notify::network-state",
+			  G_CALLBACK (gpk_check_update_notify_network_status_cb), cupdate);
 
 	/* we need the task list so we can hide the update icon when we are doing the update */
-	cupdate->priv->tlist = pk_task_list_new ();
+	cupdate->priv->tlist = pk_transaction_list_new ();
 	g_signal_connect (cupdate->priv->tlist, "changed",
 			  G_CALLBACK (gpk_check_update_task_list_changed_cb), cupdate);
 
 	/* coldplug update in progress */
 	cupdate->priv->icon_inhibit_update_in_progress =
-		(pk_task_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
-		 pk_task_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_PACKAGES));
+		(pk_transaction_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
+		 pk_transaction_list_contains_role (cupdate->priv->tlist, PK_ROLE_ENUM_UPDATE_PACKAGES));
 
 	/* coldplug network state */
 	state = pk_control_get_network_state (cupdate->priv->control, NULL);
diff --git a/src/gpk-dbus-task.c b/src/gpk-dbus-task.c
index 84b9b17..842b8be 100644
--- a/src/gpk-dbus-task.c
+++ b/src/gpk-dbus-task.c
@@ -645,48 +645,8 @@ gpk_dbus_task_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runtime
 		goto out;
 	}
 
-	/* need to handle retry with only_trusted=FALSE */
-	if (client == task->priv->client_primary &&
-	    exit_enum == PK_EXIT_ENUM_NEED_UNTRUSTED) {
-		egg_debug ("need to handle untrusted");
-		pk_client_set_only_trusted (client, FALSE);
-
-		/* try again */
-		ret = pk_client_requeue (task->priv->client_primary, &error_local);
-		if (!ret) {
-			egg_warning ("Failed to requeue: %s", error_local->message);
-			error = g_error_new (GPK_DBUS_ERROR, PK_ERROR_ENUM_INTERNAL_ERROR, "cannot requeue: %s", error_local->message);
-			dbus_g_method_return_error (task->priv->context, error);
-		}
-		goto out;
-	}
-
-	/* EULA or GPG key auth done */
-	if (client == task->priv->client_secondary &&
-	    exit_enum == PK_EXIT_ENUM_SUCCESS) {
-
-		/* try again */
-		ret = pk_client_requeue (task->priv->client_primary, &error_local);
-		if (!ret) {
-			egg_warning ("Failed to requeue: %s", error_local->message);
-			error = g_error_new (GPK_DBUS_ERROR, PK_ERROR_ENUM_INTERNAL_ERROR, "cannot requeue: %s", error_local->message);
-			dbus_g_method_return_error (task->priv->context, error);
-		}
-		goto out;
-	}
-
 	if (exit_enum != PK_EXIT_ENUM_SUCCESS) {
 
-#if (!PK_CHECK_VERSION(0,5,0))
-		/* we failed because of failed exit code */
-		ret = pk_error_code_is_need_untrusted (task->priv->last_exit_code);
-		if (ret) {
-			egg_debug ("showing untrusted ui");
-			gpk_helper_untrusted_show (task->priv->helper_untrusted, task->priv->last_exit_code);
-			goto out;
-		}
-#endif
-
 		/* show finished? */
 		if (!task->priv->show_finished)
 			gpk_modal_dialog_close (task->priv->dialog);
@@ -772,7 +732,7 @@ gpk_dbus_task_finished_cb (PkClient *client, PkExitEnum exit_enum, guint runtime
 				already_installed = TRUE;
 				id = item->package_id;
 			} else if (item->info_enum == PK_INFO_ENUM_AVAILABLE) {
-				egg_debug ("package '%s' resolved to:", item->package_id->namexxxneedtosplitxxx);
+				egg_debug ("package '%s' resolved to:", item->package_id);
 				id = item->package_id;
 			}
 		}
@@ -898,10 +858,10 @@ skip_checks:
 			gpk_modal_dialog_set_message (task->priv->dialog, _("The following packages were installed:"));
 
 			/* filter out installed */
-			for (i=0; i<PK_OBJ_LIST(list)->len; i++) {
-				item = g_ptr_array_index (PK_OBJ_LIST (list), i);
+			for (i=0; i<list->len; i++) {
+				item = g_ptr_array_index (list, i);
 				if (item->info_enum != PK_INFO_ENUM_INSTALLING) {
-					pk_item_list_remove_index (PK_OBJ_LIST (list), i);
+					pk_item_list_remove_index (list, i);
 					i--;
 				}
 			}
@@ -923,7 +883,7 @@ skip_checks:
 		list = pk_results_get_package_array (task->priv->client_primary);
 
 		/* one or more entry? */
-		ret = (PK_OBJ_LIST(list)->len > 0);
+		ret = (list->len > 0);
 		egg_warning ("doing async return");
 		dbus_g_method_return (task->priv->context, ret);
 		goto out;
@@ -934,7 +894,7 @@ skip_checks:
 		list = pk_results_get_package_array (task->priv->client_primary);
 
 		/* one or more entry? */
-		len = PK_OBJ_LIST(list)->len;
+		len = list->len;
 		if (len > 0)
 			name = g_ptr_array_index (list, 0)->id->name;
 		egg_warning ("doing async return");
@@ -983,7 +943,7 @@ skip_checks:
 			if (item->info_enum == PK_INFO_ENUM_INSTALLED) {
 				already_installed = TRUE;
 			} else if (item->info_enum == PK_INFO_ENUM_AVAILABLE) {
-				egg_debug ("package '%s' resolved", item->package_id->namexxxneedtosplitxxx);
+				egg_debug ("package '%s' resolved", item->package_id);
 				id = item->package_id;
 				//TODO: we need to list these in a gpk-dbus_task-chooser
 			}
@@ -1134,12 +1094,6 @@ gpk_dbus_task_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gchar
 		return;
 	}
 
-	/* have we handled? */
-	if (pk_error_code_is_need_untrusted (code)) {
-		egg_warning ("will handled in finished");
-		return;
-	}
-
 	/* ignore some errors */
 	if (code == PK_ERROR_ENUM_PROCESS_KILL ||
 	    code == PK_ERROR_ENUM_TRANSACTION_CANCELLED) {
@@ -2508,7 +2462,7 @@ skip_checks:
 			dbus_g_method_return_error (task->priv->context, error);
 			goto out;
 		}
-		g_ptr_array_add (PK_OBJ_LIST(list), item_new);
+		g_ptr_array_add (list, item_new);
 		pk_package_item_free (item_new);
 		g_strfreev (parts);
 	}
@@ -2890,7 +2844,7 @@ skip_checks:
 
 		/* add to main list */
 		list_tmp = pk_results_get_package_array (task->priv->client_primary);
-		g_ptr_array_add_list (PK_OBJ_LIST (list), PK_OBJ_LIST (list_tmp));
+		g_ptr_array_add_list (list, list_tmp);
 		g_object_unref (list_tmp);
 	}
 
@@ -3139,7 +3093,7 @@ gpk_dbus_task_get_package_for_exec (GpkDbusTask *task, const gchar *exec)
 
 	/* copy name */
 	item = g_ptr_array_index (list, 0);
-	package = g_strdup (item->package_id->namexxxneedtosplitxxx);
+	package = g_strdup (item->package_id);
 	egg_debug ("got package %s", package);
 
 out:
diff --git a/src/gpk-firmware.c b/src/gpk-firmware.c
index 278ba0c..ebaff6e 100644
--- a/src/gpk-firmware.c
+++ b/src/gpk-firmware.c
@@ -390,7 +390,7 @@ gpk_firmware_timeout_cb (gpointer data)
 		/* save to new array if we found one package for this file */
 		item = gpk_firmware_check_available (firmware, req->filename);
 		if (item != NULL) {
-			g_ptr_array_add (PK_OBJ_LIST (firmware->priv->packages_found), item);
+			g_ptr_array_add (firmware->priv->packages_found, item);
 			pk_package_item_free (item);
 		}
 	}
@@ -402,7 +402,7 @@ gpk_firmware_timeout_cb (gpointer data)
 	}
 
 	/* check we don't want the same package more than once */
-	pk_item_list_remove_duplicate (PK_OBJ_LIST (firmware->priv->packages_found));
+	pk_item_list_remove_duplicate (firmware->priv->packages_found);
 
 	/* have we got any models to list */
 	for (i=0; i<array->len; i++) {
@@ -581,12 +581,6 @@ gpk_firmware_error_code_cb (PkClient *client, PkErrorCodeEnum code, const gchar
 		return;
 	}
 
-	/* ignore the ones we can handle */
-	if (pk_error_code_is_need_untrusted (code)) {
-		egg_debug ("error ignored as we're handling %s: %s", pk_error_enum_to_text (code), details);
-		return;
-	}
-
 	/* ignore not authorised, which seems odd but this will happen if the user clicks cancel */
 	if (code == PK_ERROR_ENUM_NOT_AUTHORIZED) {
 		egg_debug ("auth failure '%s' ignored: %s", pk_error_enum_to_text (code), details);
diff --git a/src/gpk-service-pack.c b/src/gpk-service-pack.c
index 3d73c7d..9cb77e9 100644
--- a/src/gpk-service-pack.c
+++ b/src/gpk-service-pack.c
@@ -146,7 +146,7 @@ gpk_pack_package_cb (PkServicePack *pack, const PkItemPackage *item, gpointer da
 
 	progress_bar = GTK_PROGRESS_BAR (gtk_builder_get_object (builder, "progressbar_percentage"));
 	/* TRANSLATORS: This is the package name that is being downloaded */
-	text = g_strdup_printf ("%s: %s-%s.%s", _("Downloading"), item->package_id->namexxxneedtosplitxxx, item->package_id->version, item->package_id->arch);
+	text = g_strdup_printf ("%s: %s-%s.%s", _("Downloading"), "xxx", item->package_id->version, item->package_id->arch);
 	gtk_progress_bar_set_text (progress_bar, text);
 	g_free (text);
 }
diff --git a/src/gpk-update-viewer.c b/src/gpk-update-viewer.c
index 4b95d45..3b60605 100644
--- a/src/gpk-update-viewer.c
+++ b/src/gpk-update-viewer.c
@@ -580,7 +580,7 @@ gpk_update_viewer_package_cb (PkClient *client, const PkItemPackage *item, gpoin
 
 	pk_client_get_role (client, &role, NULL, NULL);
 	egg_debug ("role = %s, package = %s:%s:%s", pk_role_enum_to_text (role),
-		  pk_info_enum_to_text (item->info_enum), item->package_id->namexxxneedtosplitxxx, item->summary);
+		   pk_info_enum_to_text (item->info_enum), "xxx", item->summary);
 
 	/* are we simulating to get deps? */
 #if PK_CHECK_VERSION(0,5,2)
@@ -761,7 +761,7 @@ gpk_update_viewer_reconsider_info (GtkTreeModel *model)
 	gtk_button_set_label (GTK_BUTTON (widget), title);
 
 	/* no updates */
-	len = PK_OBJ_LIST(update_list)->len;
+	len = update_list->len;
 	if (len == 0) {
 		/* hide close button */
 		widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_quit"));
@@ -1506,24 +1506,6 @@ out:
 }
 
 /**
- * gpk_update_viewer_primary_requeue:
- **/
-static gboolean
-gpk_update_viewer_primary_requeue (gpointer data)
-{
-	gboolean ret;
-	GError *error = NULL;
-
-	/* retry new action */
-	ret = pk_client_requeue (client_primary, &error);
-	if (!ret) {
-		egg_warning ("Failed to requeue: %s", error->message);
-		g_error_free (error);
-	}
-	return ret;
-}
-
-/**
  * gpk_update_viewer_check_restart:
  **/
 static gboolean
@@ -1641,7 +1623,7 @@ gpk_update_viewer_deps_update_event_cb (GpkHelperDepsUpdate *helper, GtkResponse
 	}
 
 	/* need to select or add packages in deps_list */
-	len = PK_OBJ_LIST(deps_list)->len;
+	len = deps_list->len;
 	for (i=0; i<len; i++) {
 		item = g_ptr_array_index (deps_list, i);
 		found = FALSE;
@@ -1735,15 +1717,6 @@ gpk_update_viewer_finished_cb (PkClient *client, PkExitEnum exit, guint runtime,
 	widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_quit"));
 	gtk_widget_set_sensitive (widget, TRUE);
 
-	/* need to handle retry with only_trusted=FALSE */
-	if (client == client_primary &&
-	    exit == PK_EXIT_ENUM_NEED_UNTRUSTED) {
-		egg_debug ("need to handle untrusted");
-		pk_client_set_only_trusted (client, FALSE);
-		gpk_update_viewer_primary_requeue (NULL);
-		return;
-	}
-
 	/* if secondary, ignore */
 	if (client == client_primary &&
 	    (exit == PK_EXIT_ENUM_KEY_REQUIRED ||
@@ -1785,7 +1758,7 @@ gpk_update_viewer_finished_cb (PkClient *client, PkExitEnum exit, guint runtime,
 		gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), GPK_UPDATES_COLUMN_ID, GTK_SORT_ASCENDING);
 
 		/* get the download sizes */
-		if (PK_OBJ_LIST(update_list)->len > 0)
+		if (update_list->len > 0)
 			g_idle_add ((GSourceFunc) gpk_update_viewer_finished_get_update_details_cb, g_object_ref (update_list));
 
 		/* set info */
@@ -1826,9 +1799,7 @@ gpk_update_viewer_finished_cb (PkClient *client, PkExitEnum exit, guint runtime,
 	/* we've just agreed to auth or a EULA */
 	if (role == PK_ROLE_ENUM_INSTALL_SIGNATURE ||
 	    role == PK_ROLE_ENUM_ACCEPT_EULA) {
-		if (exit == PK_EXIT_ENUM_SUCCESS)
-			gpk_update_viewer_primary_requeue (NULL);
-		else
+		if (exit != PK_EXIT_ENUM_SUCCESS)
 			gpk_update_viewer_undisable_packages ();
 	}
 
@@ -2095,13 +2066,6 @@ gpk_update_viewer_error_code_cb (PkClient *client, PkErrorCodeEnum code, const g
 		return;
 	}
 
-	/* ignore the ones we can handle */
-	if (code == PK_ERROR_ENUM_NO_LICENSE_AGREEMENT ||
-	    pk_error_code_is_need_untrusted (code)) {
-		egg_debug ("error ignored as we're handling %s: %s", pk_error_enum_to_text (code), details);
-		return;
-	}
-
 	/* ignore not authorised, which seems odd but this will happen if the user clicks cancel */
 	if (code == PK_ERROR_ENUM_NOT_AUTHORIZED) {
 		egg_debug ("auth failure '%s' ignored: %s", pk_error_enum_to_text (code), details);
diff --git a/src/gpk-watch.c b/src/gpk-watch.c
index 69cf194..5412473 100644
--- a/src/gpk-watch.c
+++ b/src/gpk-watch.c
@@ -70,7 +70,7 @@ struct GpkWatchPrivate
 	GpkModalDialog		*dialog;
 	PkClient		*client_primary;
 	PkControl		*pconnection;
-	PkTaskList		*tlist;
+	PkTransactionList		*tlist;
 	PkRestartEnum		 restart;
 	GConfClient		*gconf_client;
 	guint			 set_proxy_timeout;
@@ -182,7 +182,7 @@ static gboolean
 gpk_watch_refresh_tooltip (GpkWatch *watch)
 {
 	guint i;
-	PkTaskListItem *item;
+	PkTransactionListItem *item;
 	guint length;
 	guint len;
 	GString *status;
@@ -193,7 +193,7 @@ gpk_watch_refresh_tooltip (GpkWatch *watch)
 	g_return_val_if_fail (GPK_IS_WATCH (watch), FALSE);
 
 	status = g_string_new ("");
-	length = pk_task_list_get_size (watch->priv->tlist);
+	length = pk_transaction_list_get_size (watch->priv->tlist);
 	egg_debug ("refresh tooltip %i", length);
 	if (length == 0) {
 
@@ -218,7 +218,7 @@ gpk_watch_refresh_tooltip (GpkWatch *watch)
 		goto out;
 	}
 	for (i=0; i<length; i++) {
-		item = pk_task_list_get_item (watch->priv->tlist, i);
+		item = pk_transaction_list_get_item (watch->priv->tlist, i);
 		if (item == NULL) {
 			egg_warning ("not found item %i", i);
 			break;
@@ -268,12 +268,12 @@ gpk_watch_task_list_to_status_bitfield (GpkWatch *watch)
 	guint i;
 	guint length;
 	PkBitfield status = 0;
-	PkTaskListItem *item;
+	PkTransactionListItem *item;
 
 	g_return_val_if_fail (GPK_IS_WATCH (watch), PK_STATUS_ENUM_UNKNOWN);
 
 	/* shortcut */
-	length = pk_task_list_get_size (watch->priv->tlist);
+	length = pk_transaction_list_get_size (watch->priv->tlist);
 	if (length == 0)
 		goto out;
 
@@ -282,7 +282,7 @@ gpk_watch_task_list_to_status_bitfield (GpkWatch *watch)
 
 	/* add each status to a list */
 	for (i=0; i<length; i++) {
-		item = pk_task_list_get_item (watch->priv->tlist, i);
+		item = pk_transaction_list_get_item (watch->priv->tlist, i);
 		if (item == NULL) {
 			egg_warning ("not found item %i", i);
 			break;
@@ -393,7 +393,7 @@ out:
  * gpk_watch_task_list_changed_cb:
  **/
 static void
-gpk_watch_task_list_changed_cb (PkTaskList *tlist, GpkWatch *watch)
+gpk_watch_task_list_changed_cb (PkTransactionList *tlist, GpkWatch *watch)
 {
 	g_return_if_fail (GPK_IS_WATCH (watch));
 
@@ -426,7 +426,7 @@ gpk_watch_libnotify_cb (NotifyNotification *notification, gchar *action, gpointe
  * gpk_watch_task_list_finished_cb:
  **/
 static void
-gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum exit_enum, guint runtime, GpkWatch *watch)
+gpk_watch_task_list_finished_cb (PkTransactionList *tlist, PkClient *client, PkExitEnum exit_enum, guint runtime, GpkWatch *watch)
 {
 	guint i;
 	gboolean ret;
@@ -446,6 +446,7 @@ gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum
 	gchar *id;
 	const GPtrArray *array;
 #endif
+	gchar **split;
 
 	g_return_if_fail (GPK_IS_WATCH (watch));
 
@@ -484,11 +485,13 @@ gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum
 				if (item->restart != restart)
 					continue;
 
+				split = pk_package_id_split (item->package_id);
+				
 				/* is already in the list */
 				ret = FALSE;
 				for (j=0; j<array->len; j++) {
 					item_tmp = g_ptr_array_index (array, j);
-					if (g_strcmp0 (item_tmp->id->name, item->package_id->namexxxneedtosplitxxx) == 0) {
+					if (g_strcmp0 (item_tmp->id->name, split[PK_PACKAGE_ID_NAME]) == 0) {
 						ret = TRUE;
 						break;
 					}
@@ -497,7 +500,8 @@ gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum
 					continue;
 
 				/* add to list */
-				g_ptr_array_add (watch->priv->restart_package_names, g_strdup (item->package_id->namexxxneedtosplitxxx));
+				g_ptr_array_add (watch->priv->restart_package_names, g_strdup (split[PK_PACKAGE_ID_NAME]));
+				g_strfreev (split);
 			}
 			g_object_unref (array);
 no_data:
@@ -574,7 +578,7 @@ out:
  * gpk_watch_error_code_cb:
  **/
 static void
-gpk_watch_error_code_cb (PkTaskList *tlist, PkClient *client, PkErrorCodeEnum error_code, const gchar *details, GpkWatch *watch)
+gpk_watch_error_code_cb (PkTransactionList *tlist, PkClient *client, PkErrorCodeEnum error_code, const gchar *details, GpkWatch *watch)
 {
 	gboolean ret;
 	GError *error = NULL;
@@ -687,7 +691,7 @@ out:
  * gpk_watch_message_cb:
  **/
 static void
-gpk_watch_message_cb (PkTaskList *tlist, PkClient *client, PkMessageEnum message, const gchar *details, GpkWatch *watch)
+gpk_watch_message_cb (PkTransactionList *tlist, PkClient *client, PkMessageEnum message, const gchar *details, GpkWatch *watch)
 {
 	gboolean ret;
 	GError *error = NULL;
@@ -1199,7 +1203,7 @@ static guint
 gpk_watch_populate_menu_with_jobs (GpkWatch *watch, GtkMenu *menu)
 {
 	guint i;
-	PkTaskListItem *item;
+	PkTransactionListItem *item;
 	GtkWidget *widget;
 	GtkWidget *image;
 	const gchar *localised_status;
@@ -1210,13 +1214,13 @@ gpk_watch_populate_menu_with_jobs (GpkWatch *watch, GtkMenu *menu)
 
 	g_return_val_if_fail (GPK_IS_WATCH (watch), 0);
 
-	length = pk_task_list_get_size (watch->priv->tlist);
+	length = pk_transaction_list_get_size (watch->priv->tlist);
 	if (length == 0)
 		goto out;
 
 	/* do a menu item for each job */
 	for (i=0; i<length; i++) {
-		item = pk_task_list_get_item (watch->priv->tlist, i);
+		item = pk_transaction_list_get_item (watch->priv->tlist, i);
 		if (item == NULL) {
 			egg_warning ("not found item %i", i);
 			break;
@@ -1695,7 +1699,7 @@ gpk_watch_init (GpkWatch *watch)
 	g_signal_connect_object (G_OBJECT (watch->priv->status_icon),
 				 "activate", G_CALLBACK (gpk_watch_activate_status_cb), watch, 0);
 
-	watch->priv->tlist = pk_task_list_new ();
+	watch->priv->tlist = pk_transaction_list_new ();
 	g_signal_connect (watch->priv->tlist, "changed",
 			  G_CALLBACK (gpk_watch_task_list_changed_cb), watch);
 	g_signal_connect (watch->priv->tlist, "status-changed",



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]