diff options
author | Richard Hughes <richard@hughsie.com> | 2017-05-04 16:10:10 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2017-05-04 16:10:10 +0100 |
commit | a17802cc13f686547d60dd32dcc2656b80090854 (patch) | |
tree | 11de6d80eeb2eaec147dcf220293d184c2aa0b49 | |
parent | a2b0c4e201b78c4a035edf47b8d47a830d2f0977 (diff) | |
download | appstream-glib-a17802cc13f686547d60dd32dcc2656b80090854.tar.gz |
Add as_app_remove_kudo()
This allows us to remove previously-added kudos.
-rw-r--r-- | libappstream-glib/as-app.c | 22 | ||||
-rw-r--r-- | libappstream-glib/as-app.h | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c index 6b60afa..bb8039f 100644 --- a/libappstream-glib/as-app.c +++ b/libappstream-glib/as-app.c @@ -2919,6 +2919,28 @@ as_app_add_kudo (AsApp *app, const gchar *kudo) } /** + * as_app_remove_kudo: + * @app: a #AsApp instance. + * @kudo: the kudo. + * + * Remove a kudo the application has obtained. + * + * Since: 0.6.13 + **/ +void +as_app_remove_kudo (AsApp *app, const gchar *kudo) +{ + AsAppPrivate *priv = GET_PRIVATE (app); + for (guint i = 0; i < priv->kudos->len; i++) { + const gchar *tmp = g_ptr_array_index (priv->kudos, i); + if (g_strcmp0 (tmp, kudo) == 0) { + g_ptr_array_remove (priv->kudos, (gpointer) tmp); + break; + } + } +} + +/** * as_app_add_permission: * @app: a #AsApp instance. * @permission: the permission. diff --git a/libappstream-glib/as-app.h b/libappstream-glib/as-app.h index 35c3849..d2ed773 100644 --- a/libappstream-glib/as-app.h +++ b/libappstream-glib/as-app.h @@ -618,6 +618,8 @@ void as_app_add_keyword (AsApp *app, const gchar *keyword); void as_app_add_kudo (AsApp *app, const gchar *kudo); +void as_app_remove_kudo (AsApp *app, + const gchar *kudo); void as_app_add_kudo_kind (AsApp *app, AsKudoKind kudo_kind); void as_app_add_permission (AsApp *app, |