From 41ebb2663d9fe9cf96dd3d5a97bcb9df2dd7600f Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 24 Oct 2007 19:24:53 +0100 Subject: [PATCH] use a promiscuous client to get the errors and completions --- client/pk-monitor.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/client/pk-monitor.c b/client/pk-monitor.c index e65da200e..93500a0dd 100644 --- a/client/pk-monitor.c +++ b/client/pk-monitor.c @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -46,9 +47,22 @@ pk_monitor_task_list_changed_cb (PkTaskList *tlist, gpointer data) * pk_monitor_error_code_cb: **/ static void -pk_monitor_error_code_cb (PkTaskList *tlist, PkErrorCodeEnum error_code, const gchar *details, gpointer data) +pk_monitor_error_code_cb (PkClient *client, PkErrorCodeEnum error_code, const gchar *details, gpointer data) { - g_print ("Error: %s : %s\n", pk_error_enum_to_text (error_code), details); + gchar *tid = pk_client_get_tid (client); + g_print ("%s\tError: %s, %s\n", tid, pk_error_enum_to_text (error_code), details); + g_free (tid); +} + +/** + * pk_monitor_finished_cb: + **/ +static void +pk_monitor_finished_cb (PkClient *client, PkExitEnum exit, guint runtime, gpointer data) +{ + gchar *tid = pk_client_get_tid (client); + g_print ("%s\tFinished: %s, %ims\n", tid, pk_exit_enum_to_text (exit), runtime); + g_free (tid); } /** @@ -67,6 +81,7 @@ int main (int argc, char *argv[]) { PkTaskList *tlist; + PkClient *client; gboolean ret; GMainLoop *loop; PkConnection *pconnection; @@ -110,11 +125,16 @@ main (int argc, char *argv[]) connected = pk_connection_valid (pconnection); pk_debug ("connected=%i", connected); + client = pk_client_new (); + pk_client_set_promiscuous (client, TRUE); + g_signal_connect (client, "finished", + G_CALLBACK (pk_monitor_finished_cb), NULL); + g_signal_connect (client, "error-code", + G_CALLBACK (pk_monitor_error_code_cb), NULL); + tlist = pk_task_list_new (); g_signal_connect (tlist, "task-list-changed", G_CALLBACK (pk_monitor_task_list_changed_cb), NULL); - g_signal_connect (tlist, "error-code", - G_CALLBACK (pk_monitor_error_code_cb), NULL); pk_debug ("refreshing task list"); ret = pk_task_list_refresh (tlist); @@ -125,6 +145,7 @@ main (int argc, char *argv[]) g_main_loop_run (loop); + g_object_unref (client); g_object_unref (tlist); g_object_unref (pconnection);