pretty print, and add sme more client methods
This commit is contained in:
parent
622f662b0a
commit
3332b8ccc9
@ -37,7 +37,24 @@
|
||||
static void
|
||||
pk_console_package_cb (PkTaskClient *tclient, const gchar *package, const gchar *summary, gpointer data)
|
||||
{
|
||||
g_print ("%s\t%s\n", package, summary);
|
||||
gchar *padding;
|
||||
gint size;
|
||||
size = (25 - strlen(package));
|
||||
if (size < 0) {
|
||||
size = 0;
|
||||
}
|
||||
padding = g_strnfill (size, ' ');
|
||||
g_print ("%s%s %s\n", package, padding, summary);
|
||||
g_free (padding);
|
||||
}
|
||||
|
||||
/**
|
||||
* pk_console_percentage_changed_cb:
|
||||
**/
|
||||
static void
|
||||
pk_console_percentage_changed_cb (PkTaskClient *tclient, guint percentage, gpointer data)
|
||||
{
|
||||
g_print ("%i%%\n", percentage);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -95,14 +112,16 @@ main (int argc, char *argv[])
|
||||
pk_debug ("value = %s", value);
|
||||
pk_debug ("async = %i", async);
|
||||
|
||||
if (mode == NULL || value == NULL) {
|
||||
pk_debug ("invalid command line parameters");
|
||||
if (mode == NULL) {
|
||||
pk_debug ("invalid mode");
|
||||
return 1;
|
||||
}
|
||||
|
||||
tclient = pk_task_client_new ();
|
||||
g_signal_connect (tclient, "package",
|
||||
G_CALLBACK (pk_console_package_cb), NULL);
|
||||
g_signal_connect (tclient, "percentage-changed",
|
||||
G_CALLBACK (pk_console_percentage_changed_cb), NULL);
|
||||
|
||||
pk_task_client_set_sync (tclient, !async);
|
||||
if (strcmp (mode, "search") == 0) {
|
||||
@ -111,6 +130,10 @@ main (int argc, char *argv[])
|
||||
pk_task_client_install_package (tclient, value);
|
||||
} else if (strcmp (mode, "remove") == 0) {
|
||||
pk_task_client_remove_package_with_deps (tclient, value);
|
||||
} else if (strcmp (mode, "update") == 0) {
|
||||
pk_task_client_update_system (tclient);
|
||||
} else if (strcmp (mode, "checkupdate") == 0) {
|
||||
pk_task_client_get_updates (tclient);
|
||||
} else {
|
||||
pk_debug ("not yet supported");
|
||||
}
|
||||
|
@ -93,6 +93,9 @@ pk_task_client_wait_if_sync (PkTaskClient *tclient)
|
||||
gboolean
|
||||
pk_task_client_get_updates (PkTaskClient *tclient)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -103,6 +106,22 @@ pk_task_client_get_updates (PkTaskClient *tclient)
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "GetUpdates", &error,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("GetUpdates failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -112,6 +131,9 @@ pk_task_client_get_updates (PkTaskClient *tclient)
|
||||
gboolean
|
||||
pk_task_client_update_system (PkTaskClient *tclient)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -122,6 +144,22 @@ pk_task_client_update_system (PkTaskClient *tclient)
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "UpdateSystem", &error,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("UpdateSystem failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -170,6 +208,9 @@ pk_task_client_find_packages (PkTaskClient *tclient, const gchar *search)
|
||||
gboolean
|
||||
pk_task_client_get_deps (PkTaskClient *tclient, const gchar *package)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -180,6 +221,23 @@ pk_task_client_get_deps (PkTaskClient *tclient, const gchar *package)
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "GetDeps", &error,
|
||||
G_TYPE_STRING, package,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("GetDeps failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -189,6 +247,9 @@ pk_task_client_get_deps (PkTaskClient *tclient, const gchar *package)
|
||||
gboolean
|
||||
pk_task_client_remove_package (PkTaskClient *tclient, const gchar *package)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -199,6 +260,23 @@ pk_task_client_remove_package (PkTaskClient *tclient, const gchar *package)
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "RemovePackage", &error,
|
||||
G_TYPE_STRING, package,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("RemovePackage failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -208,6 +286,9 @@ pk_task_client_remove_package (PkTaskClient *tclient, const gchar *package)
|
||||
gboolean
|
||||
pk_task_client_remove_package_with_deps (PkTaskClient *tclient, const gchar *package)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -218,6 +299,23 @@ pk_task_client_remove_package_with_deps (PkTaskClient *tclient, const gchar *pac
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "RemovePackageWithDeps", &error,
|
||||
G_TYPE_STRING, package,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("RemovePackageWithDeps failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -227,6 +325,9 @@ pk_task_client_remove_package_with_deps (PkTaskClient *tclient, const gchar *pac
|
||||
gboolean
|
||||
pk_task_client_install_package (PkTaskClient *tclient, const gchar *package)
|
||||
{
|
||||
gboolean ret;
|
||||
GError *error;
|
||||
|
||||
g_return_val_if_fail (tclient != NULL, FALSE);
|
||||
g_return_val_if_fail (PK_IS_TASK_CLIENT (tclient), FALSE);
|
||||
|
||||
@ -237,6 +338,23 @@ pk_task_client_install_package (PkTaskClient *tclient, const gchar *package)
|
||||
}
|
||||
tclient->priv->assigned = TRUE;
|
||||
|
||||
error = NULL;
|
||||
ret = dbus_g_proxy_call (tclient->priv->proxy, "InstallPackage", &error,
|
||||
G_TYPE_STRING, package,
|
||||
G_TYPE_INVALID,
|
||||
G_TYPE_UINT, &tclient->priv->job,
|
||||
G_TYPE_INVALID);
|
||||
if (error) {
|
||||
pk_debug ("ERROR: %s", error->message);
|
||||
g_error_free (error);
|
||||
}
|
||||
if (ret == FALSE) {
|
||||
/* abort as the DBUS method failed */
|
||||
pk_warning ("InstallPackage failed!");
|
||||
return FALSE;
|
||||
}
|
||||
pk_task_client_wait_if_sync (tclient);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -409,7 +527,7 @@ pk_task_client_class_init (PkTaskClientClass *klass)
|
||||
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
|
||||
G_TYPE_NONE, 1, G_TYPE_UINT);
|
||||
signals [PK_TASK_CLIENT_PERCENTAGE_CHANGED] =
|
||||
g_signal_new ("percentage-complete-changed",
|
||||
g_signal_new ("percentage-changed",
|
||||
G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL, g_cclosure_marshal_VOID__UINT,
|
||||
G_TYPE_NONE, 1, G_TYPE_UINT);
|
||||
|
Loading…
Reference in New Issue
Block a user