diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2017-09-20 10:54:27 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2017-09-20 10:54:27 +1200 |
commit | 972622609bd5352ff2478029379c53fc784cd246 (patch) | |
tree | 1d4f9d8d8f04e2f00c7f2bb636985f2b21dcc567 /lib | |
parent | 7a112f9b60b460120151fc4651c067c117f1b97a (diff) |
packagekit-glib2: Add getters for PkEulaRequired
Diffstat (limited to 'lib')
-rw-r--r-- | lib/packagekit-glib2/pk-eula-required.c | 68 | ||||
-rw-r--r-- | lib/packagekit-glib2/pk-eula-required.h | 4 | ||||
-rw-r--r-- | lib/packagekit-glib2/pk-task-text.c | 24 | ||||
-rw-r--r-- | lib/packagekit-glib2/pk-task.c | 6 |
4 files changed, 80 insertions, 22 deletions
diff --git a/lib/packagekit-glib2/pk-eula-required.c b/lib/packagekit-glib2/pk-eula-required.c index 03cc4b0b0..3dfb8dfc3 100644 --- a/lib/packagekit-glib2/pk-eula-required.c +++ b/lib/packagekit-glib2/pk-eula-required.c @@ -62,6 +62,74 @@ enum { G_DEFINE_TYPE (PkEulaRequired, pk_eula_required, PK_TYPE_SOURCE) +/** + * pk_eula_required_get_eula_id: + * @eula_required: a valid #PkEulaRequired instance. + * + * Get the ID for this EULA + * + * Return value: an ID + * + * Since: 1.1.8 + */ +const gchar * +pk_eula_required_get_eula_id (PkEulaRequired *eula_required) +{ + g_return_val_if_fail (PK_IS_EULA_REQUIRED (eula_required), NULL); + return eula_required->priv->eula_id; +} + +/** + * pk_eula_required_get_package_id: + * @eula_required: a valid #PkEulaRequired instance. + * + * Get the PackageID this EULA is for + * + * Return value: a PackageID + * + * Since: 1.1.8 + */ +const gchar * +pk_eula_required_get_package_id (PkEulaRequired *eula_required) +{ + g_return_val_if_fail (PK_IS_EULA_REQUIRED (eula_required), NULL); + return eula_required->priv->package_id; +} + +/** + * pk_eula_required_get_vendor_name: + * @eula_required: a valid #PkEulaRequired instance. + * + * Get the vendor this EULA is from. + * + * Return value: license vendor name + * + * Since: 1.1.8 + */ +const gchar * +pk_eula_required_get_vendor_name (PkEulaRequired *eula_required) +{ + g_return_val_if_fail (PK_IS_EULA_REQUIRED (eula_required), NULL); + return eula_required->priv->vendor_name; +} + +/** + * pk_eula_required_get_license_agreement: + * @eula_required: a valid #PkEulaRequired instance. + * + * Get the text of the license agreement. + * + * Return value: license agreement text + * + * Since: 1.1.8 + **/ +const gchar * +pk_eula_required_get_license_agreement (PkEulaRequired *eula_required) +{ + g_return_val_if_fail (PK_IS_EULA_REQUIRED (eula_required), NULL); + return eula_required->priv->license_agreement; +} + /* * pk_eula_required_get_property: **/ diff --git a/lib/packagekit-glib2/pk-eula-required.h b/lib/packagekit-glib2/pk-eula-required.h index aa7475a4f..cdf58d6b2 100644 --- a/lib/packagekit-glib2/pk-eula-required.h +++ b/lib/packagekit-glib2/pk-eula-required.h @@ -66,6 +66,10 @@ struct _PkEulaRequiredClass GType pk_eula_required_get_type (void); PkEulaRequired *pk_eula_required_new (void); +const gchar *pk_eula_required_get_eula_id (PkEulaRequired *eula_required); +const gchar *pk_eula_required_get_package_id (PkEulaRequired *eula_required); +const gchar *pk_eula_required_get_vendor_name (PkEulaRequired *eula_required); +const gchar *pk_eula_required_get_license_agreement (PkEulaRequired *eula_required); G_END_DECLS diff --git a/lib/packagekit-glib2/pk-task-text.c b/lib/packagekit-glib2/pk-task-text.c index 656c5e297..0fc595266 100644 --- a/lib/packagekit-glib2/pk-task-text.c +++ b/lib/packagekit-glib2/pk-task-text.c @@ -171,12 +171,7 @@ pk_task_text_eula_question (PkTask *task, guint request, PkResults *results) { guint i; gboolean ret; - gchar *printable = NULL; GPtrArray *array; - PkEulaRequired *item; - gchar *package_id; - gchar *vendor_name; - gchar *license_agreement; PkTaskTextPrivate *priv = PK_TASK_TEXT(task)->priv; /* set some user data, for no reason */ @@ -188,15 +183,13 @@ pk_task_text_eula_question (PkTask *task, guint request, PkResults *results) /* get data */ array = pk_results_get_eula_required_array (results); for (i = 0; i < array->len; i++) { + PkEulaRequired *item; + g_autofree gchar *printable = NULL; + item = g_ptr_array_index (array, i); - g_object_get (item, - "package-id", &package_id, - "vendor-name", &vendor_name, - "license-agreement", &license_agreement, - NULL); /* create printable */ - printable = pk_package_id_to_printable (package_id); + printable = pk_package_id_to_printable (pk_eula_required_get_package_id (item)); /* TRANSLATORS: this is another name for a software licence that has to be read before installing */ g_print ("%s\n", _("End user licence agreement required")); @@ -205,15 +198,10 @@ pk_task_text_eula_question (PkTask *task, guint request, PkResults *results) g_print (" %s: %s\n", _("Package"), printable); /* TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA */ - g_print (" %s: %s\n", _("Vendor"), vendor_name); + g_print (" %s: %s\n", _("Vendor"), pk_eula_required_get_vendor_name (item)); /* TRANSLATORS: the EULA text itself (long and boring) */ - g_print (" %s: %s\n", _("Agreement"), license_agreement); - - g_free (printable); - g_free (package_id); - g_free (vendor_name); - g_free (license_agreement); + g_print (" %s: %s\n", _("Agreement"), pk_eula_required_get_license_agreement (item)); } /* TRANSLATORS: ask the user if they've read and accepted the EULA */ diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c index ec8342c0a..83ae7de6c 100644 --- a/lib/packagekit-glib2/pk-task.c +++ b/lib/packagekit-glib2/pk-task.c @@ -652,7 +652,7 @@ pk_task_accept_eulas (PkTaskState *state) { PkEulaRequired *item; g_autoptr(GError) error = NULL; - g_autofree gchar *eula_id = NULL; + const gchar *eula_id; g_autoptr(GPtrArray) array = NULL; /* get results */ @@ -677,9 +677,7 @@ pk_task_accept_eulas (PkTaskState *state) /* get first item of data */ item = g_ptr_array_index (array, 0); - g_object_get (item, - "eula-id", &eula_id, - NULL); + eula_id = pk_eula_required_get_eula_id (item); /* do new async method */ pk_client_accept_eula_async (PK_CLIENT(state->task), eula_id, |