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



commit 04e5f8196ceca7f852de9e6383f404ee9375e5af
Author: Richard Hughes <richard hughsie com>
Date:   Wed Sep 9 17:32:51 2009 +0100

    moo

 src/Makefile.am          |    1 -
 src/gpk-application.c    |    4 +-
 src/gpk-backend-status.c |  184 ++++++++++++++++++++++++----------------------
 src/gpk-check-update.c   |    2 +-
 src/gpk-dbus-task.c      |    6 +-
 src/gpk-firmware.c       |    2 +-
 src/gpk-log.c            |    2 +-
 src/gpk-watch.c          |    4 +-
 8 files changed, 107 insertions(+), 98 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index fb6624a..c136ea6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -264,7 +264,6 @@ gpk_backend_status_SOURCES =				\
 	$(NULL)
 
 gpk_backend_status_LDADD =				\
-	libgpkshared.a					\
 	$(shared_LIBS)					\
 	$(NULL)
 
diff --git a/src/gpk-application.c b/src/gpk-application.c
index b491b95..80d0941 100644
--- a/src/gpk-application.c
+++ b/src/gpk-application.c
@@ -3363,7 +3363,7 @@ gpk_application_categories_finished (GpkApplication *application)
 	}
 
 	for (i=0; i < list->len; i++) {
-		obj = pk_obj_list_index (list, i);
+		obj = g_ptr_array_index (list, i);
 
 		gtk_tree_store_append (application->priv->groups_store, &iter, NULL);
 		gtk_tree_store_set (application->priv->groups_store, &iter,
@@ -3376,7 +3376,7 @@ gpk_application_categories_finished (GpkApplication *application)
 		j = 0;
 		do {
 			/* only allows groups two layers deep */
-			obj2 = pk_obj_list_index (list, j);
+			obj2 = g_ptr_array_index (list, j);
 			if (g_strcmp0 (obj2->parent_id, obj->cat_id) == 0) {
 				gtk_tree_store_append (application->priv->groups_store, &iter2, &iter);
 				gtk_tree_store_set (application->priv->groups_store, &iter2,
diff --git a/src/gpk-backend-status.c b/src/gpk-backend-status.c
index dc0de24..60863c1 100644
--- a/src/gpk-backend-status.c
+++ b/src/gpk-backend-status.c
@@ -21,14 +21,9 @@
 
 #include "config.h"
 
-//#include <errno.h>
 #include <locale.h>
-//#include <string.h>
-//#include <unistd.h>
 #include <stdlib.h>
-//#include <glib.h>
 #include <glib/gi18n.h>
-//#include <dbus/dbus-glib.h>
 #include <gtk/gtk.h>
 #include <packagekit-glib2/packagekit.h>
 
@@ -36,6 +31,8 @@
 
 #include "gpk-common.h"
 
+static GtkBuilder *builder = NULL;
+
 /**
  * pk_updates_close_cb:
  **/
@@ -58,68 +55,26 @@ pk_updates_delete_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data)
 	return FALSE;
 }
 
-/**
- * main:
- **/
-int
-main (int argc, char *argv[])
+static void
+pk_control_test_get_properties_cb (GObject *object, GAsyncResult *res, GMainLoop *loop)
 {
-	GMainLoop *loop;
-	gboolean verbose = FALSE;
-	gboolean program_version = FALSE;
-	GOptionContext *context;
 	GtkWidget *widget;
-	GtkBuilder *builder;
-	gchar *name;
-	gchar *author;
-	PkRoleEnum roles;
-	PkBitfield filters;
-	PkControl *control;
-	gboolean ret;
-	guint retval;
 	GError *error = NULL;
+	PkControl *control = PK_CONTROL(object);
+	gboolean ret;
+	PkBitfield filters;
+	PkBitfield roles;
+	gchar *name = NULL;
+	gchar *author = NULL;
 
-	const GOptionEntry options[] = {
-		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
-		  _("Show extra debugging information"), NULL },
-		{ "version", '\0', 0, G_OPTION_ARG_NONE, &program_version,
-		  _("Show the program version and exit"), NULL },
-		{ NULL}
-	};
-
-	setlocale (LC_ALL, "");
-
-	bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
-	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-	textdomain (GETTEXT_PACKAGE);
-
-	if (! g_thread_supported ()) {
-		g_thread_init (NULL);
-	}
-	g_type_init ();
-
-	context = g_option_context_new (NULL);
-	g_option_context_set_summary (context, _("PackageKit Backend Details Viewer"));
-	g_option_context_add_main_entries (context, options, NULL);
-	g_option_context_parse (context, &argc, &argv, NULL);
-	g_option_context_free (context);
-
-	if (program_version) {
-		g_print (VERSION "\n");
-		return 0;
-	}
-
-	egg_debug_init (verbose);
-	gtk_init (&argc, &argv);
-
-	loop = g_main_loop_new (NULL, FALSE);
-
-	control = pk_control_new ();
-	ret = pk_control_get_properties_sync (control, &error);
+	/* get the result */
+	ret = pk_control_get_properties_finish (control, res, &error);
 	if (!ret) {
 		/* TRANSLATORS: backend is broken, and won't tell us what it supports */
-		egg_warning (_("Exiting as backend details could not be retrieved"));
-		return 1;
+		g_print ("%s: %s\n", _("Exiting as backend details could not be retrieved"), error->message);
+		g_error_free (error);
+		g_main_loop_quit (loop);
+		goto out;
 	}
 
 	/* get values */
@@ -130,27 +85,7 @@ main (int argc, char *argv[])
 		      "backend-author", &author,
 		      NULL);
 
-	/* get UI */
-	builder = gtk_builder_new ();
-	retval = gtk_builder_add_from_file (builder, GPK_DATA "/gpk-backend-status.ui", &error);
-	if (error != NULL) {
-		egg_warning ("failed to load ui: %s", error->message);
-		g_error_free (error);
-		goto out_build;
-	}
-
-	widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_backend"));
-	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_LOG);
-
-	widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_close"));
-	g_signal_connect (widget, "clicked",
-			  G_CALLBACK (pk_updates_close_cb), loop);
-
-	widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_backend"));
-	g_signal_connect (widget, "delete_event",
-			  G_CALLBACK (pk_updates_delete_event_cb), loop);
-	gtk_widget_show (GTK_WIDGET (widget));
-
+	/* setup GUI */
 	widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_name"));
 	gtk_label_set_label (GTK_LABEL (widget), name);
 	widget = GTK_WIDGET (gtk_builder_get_object (builder, "label_author"));
@@ -281,16 +216,91 @@ main (int argc, char *argv[])
 		widget = GTK_WIDGET (gtk_builder_get_object (builder, "image_newest"));
 		gtk_image_set_from_icon_name (GTK_IMAGE (widget), "gtk-apply", GTK_ICON_SIZE_MENU);
 	}
-
-out_build:
+out:
 	g_free (name);
 	g_free (author);
+	return;
+}
 
-	g_object_unref (builder);
-	g_object_unref (control);
+/**
+ * main:
+ **/
+int
+main (int argc, char *argv[])
+{
+	GMainLoop *loop;
+	gboolean verbose = FALSE;
+	gboolean program_version = FALSE;
+	GOptionContext *context;
+	GtkWidget *widget;
+	PkControl *control;
+	guint retval;
+	GError *error = NULL;
 
+	const GOptionEntry options[] = {
+		{ "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose,
+		  _("Show extra debugging information"), NULL },
+		{ "version", '\0', 0, G_OPTION_ARG_NONE, &program_version,
+		  _("Show the program version and exit"), NULL },
+		{ NULL}
+	};
+
+	setlocale (LC_ALL, "");
+
+	bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+	textdomain (GETTEXT_PACKAGE);
+
+	if (! g_thread_supported ())
+		g_thread_init (NULL);
+	g_type_init ();
+
+	context = g_option_context_new (NULL);
+	g_option_context_set_summary (context, _("PackageKit Backend Details Viewer"));
+	g_option_context_add_main_entries (context, options, NULL);
+	g_option_context_parse (context, &argc, &argv, NULL);
+	g_option_context_free (context);
+
+	if (program_version) {
+		g_print (VERSION "\n");
+		return 0;
+	}
+
+	egg_debug_init (verbose);
+	gtk_init (&argc, &argv);
+
+	loop = g_main_loop_new (NULL, FALSE);
+	control = pk_control_new ();
+
+	/* get UI */
+	builder = gtk_builder_new ();
+	retval = gtk_builder_add_from_file (builder, GPK_DATA "/gpk-backend-status.ui", &error);
+	if (retval == 0) {
+		egg_warning ("failed to load ui: %s", error->message);
+		g_error_free (error);
+		goto out;
+	}
+
+	widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_backend"));
+	gtk_window_set_icon_name (GTK_WINDOW (widget), GPK_ICON_SOFTWARE_LOG);
+
+	widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_close"));
+	g_signal_connect (widget, "clicked",
+			  G_CALLBACK (pk_updates_close_cb), loop);
+
+	widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_backend"));
+	g_signal_connect (widget, "delete_event",
+			  G_CALLBACK (pk_updates_delete_event_cb), loop);
+	gtk_widget_show (GTK_WIDGET (widget));
+
+	/* get properties */
+	pk_control_get_properties_async (control, NULL, (GAsyncReadyCallback) pk_control_test_get_properties_cb, loop);
+
+	/* wait for results */
 	g_main_loop_run (loop);
+out:
+	g_object_unref (builder);
+	g_object_unref (control);
 	g_main_loop_unref (loop);
-
 	return 0;
 }
diff --git a/src/gpk-check-update.c b/src/gpk-check-update.c
index e63d766..e14aeb2 100644
--- a/src/gpk-check-update.c
+++ b/src/gpk-check-update.c
@@ -1120,7 +1120,7 @@ gpk_check_update_process_distro_upgrades (GpkCheckUpdate *cupdate, PkObjList *ar
 	/* find the upgrade string */
 	string = g_string_new ("");
 	for (i=0; i < array->len; i++) {
-		obj = (PkDistroUpgradeObj *) pk_obj_list_index (array, i);
+		obj = (PkDistroUpgradeObj *) g_ptr_array_index (array, i);
 		g_string_append_printf (string, "%s (%s)\n", obj->name, pk_distro_upgrade_enum_to_text (obj->state));
 	}
 	if (string->len != 0)
diff --git a/src/gpk-dbus-task.c b/src/gpk-dbus-task.c
index a94db71..f854f4d 100644
--- a/src/gpk-dbus-task.c
+++ b/src/gpk-dbus-task.c
@@ -899,7 +899,7 @@ skip_checks:
 
 			/* filter out installed */
 			for (i=0; i<PK_OBJ_LIST(list)->len; i++) {
-				obj = pk_obj_list_index (PK_OBJ_LIST (list), i);
+				obj = g_ptr_array_index (PK_OBJ_LIST (list), i);
 				if (obj->info_enum != PK_INFO_ENUM_INSTALLING) {
 					pk_obj_list_remove_index (PK_OBJ_LIST (list), i);
 					i--;
@@ -2508,7 +2508,7 @@ skip_checks:
 			dbus_g_method_return_error (task->priv->context, error);
 			goto out;
 		}
-		pk_obj_list_add (PK_OBJ_LIST(list), obj_new);
+		g_ptr_array_add (PK_OBJ_LIST(list), obj_new);
 		pk_package_obj_free (obj_new);
 		g_strfreev (parts);
 	}
@@ -2890,7 +2890,7 @@ skip_checks:
 
 		/* add to main list */
 		list_tmp = pk_client_get_package_list (task->priv->client_primary);
-		pk_obj_list_add_list (PK_OBJ_LIST (list), PK_OBJ_LIST (list_tmp));
+		g_ptr_array_add_list (PK_OBJ_LIST (list), PK_OBJ_LIST (list_tmp));
 		g_object_unref (list_tmp);
 	}
 
diff --git a/src/gpk-firmware.c b/src/gpk-firmware.c
index 00d49eb..270f74b 100644
--- a/src/gpk-firmware.c
+++ b/src/gpk-firmware.c
@@ -394,7 +394,7 @@ gpk_firmware_timeout_cb (gpointer data)
 		/* save to new array if we found one package for this file */
 		obj = gpk_firmware_check_available (firmware, req->filename);
 		if (obj != NULL) {
-			pk_obj_list_add (PK_OBJ_LIST (firmware->priv->packages_found), obj);
+			g_ptr_array_add (PK_OBJ_LIST (firmware->priv->packages_found), obj);
 			pk_package_obj_free (obj);
 		}
 	}
diff --git a/src/gpk-log.c b/src/gpk-log.c
index de44055..e155187 100644
--- a/src/gpk-log.c
+++ b/src/gpk-log.c
@@ -544,7 +544,7 @@ gpk_log_refilter (void)
 
 	/* go through the list, adding and removing the items as required */
 	for (i=0; i<transactions->len; i++) {
-		obj = pk_obj_list_index (transactions, i);
+		obj = g_ptr_array_index (transactions, i);
 		ret = gpk_log_filter (obj);
 		if (ret)
 			gpk_log_add_obj (obj);
diff --git a/src/gpk-watch.c b/src/gpk-watch.c
index bd66e48..1b23fdc 100644
--- a/src/gpk-watch.c
+++ b/src/gpk-watch.c
@@ -478,7 +478,7 @@ gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum
 				goto no_data;
 			}
 			for (i=0; i<array->len; i++) {
-				obj = pk_obj_list_index (array, i);
+				obj = g_ptr_array_index (array, i);
 
 				/* is a lesser restart that what we have already */
 				if (obj->restart != restart)
@@ -487,7 +487,7 @@ gpk_watch_task_list_finished_cb (PkTaskList *tlist, PkClient *client, PkExitEnum
 				/* is already in the list */
 				ret = FALSE;
 				for (j=0; j<array->len; j++) {
-					obj_tmp = pk_obj_list_index (array, j);
+					obj_tmp = g_ptr_array_index (array, j);
 					if (g_strcmp0 (obj_tmp->id->name, obj->package_id->namexxxneedtosplitxxx) == 0) {
 						ret = TRUE;
 						break;



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