diff options
author | Richard Hughes <richard@hughsie.com> | 2016-12-15 12:29:09 +0000 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2016-12-15 12:29:09 +0000 |
commit | 57d10b243cb5f197cccb5c149e85c005f12b1956 (patch) | |
tree | 8da228467e94252e4576f95de404401ce9748a5f | |
parent | 70b7d53797851701bb1592da0ff582f98cf87e45 (diff) | |
download | appstream-glib-57d10b243cb5f197cccb5c149e85c005f12b1956.tar.gz |
Add as_release_state_to_string()
-rw-r--r-- | libappstream-glib/as-release.c | 40 | ||||
-rw-r--r-- | libappstream-glib/as-release.h | 3 |
2 files changed, 43 insertions, 0 deletions
diff --git a/libappstream-glib/as-release.c b/libappstream-glib/as-release.c index 35694c2..7ee7481 100644 --- a/libappstream-glib/as-release.c +++ b/libappstream-glib/as-release.c @@ -139,6 +139,46 @@ as_release_class_init (AsReleaseClass *klass) } /** + * as_release_state_from_string: + * @state: a string + * + * Converts the text representation to an enumerated value. + * + * Return value: A #AsReleaseState, e.g. %AS_RELEASE_STATE_INSTALLED. + * + * Since: 0.6.6 + **/ +AsReleaseState +as_release_state_from_string (const gchar *state) +{ + if (g_strcmp0 (state, "installed") == 0) + return AS_RELEASE_STATE_INSTALLED; + if (g_strcmp0 (state, "available") == 0) + return AS_RELEASE_STATE_AVAILABLE; + return AS_APP_MERGE_KIND_NONE; +} + +/** + * as_release_state_to_string: + * @state: the #AsReleaseState, e.g. %AS_RELEASE_STATE_INSTALLED + * + * Converts the enumerated value to an text representation. + * + * Returns: string version of @state, or %NULL for unknown + * + * Since: 0.6.6 + **/ +const gchar * +as_release_state_to_string (AsReleaseState state) +{ + if (state == AS_RELEASE_STATE_INSTALLED) + return "installed"; + if (state == AS_RELEASE_STATE_AVAILABLE) + return "available"; + return NULL; +} + +/** * as_release_vercmp: * @rel1: a #AsRelease instance. * @rel2: a #AsRelease instance. diff --git a/libappstream-glib/as-release.h b/libappstream-glib/as-release.h index 402fbc7..326a5c1 100644 --- a/libappstream-glib/as-release.h +++ b/libappstream-glib/as-release.h @@ -69,6 +69,9 @@ AsRelease *as_release_new (void); gint as_release_vercmp (AsRelease *rel1, AsRelease *rel2); +AsReleaseState as_release_state_from_string (const gchar *state); +const gchar *as_release_state_to_string (AsReleaseState state); + /* getters */ const gchar *as_release_get_version (AsRelease *release); GBytes *as_release_get_blob (AsRelease *release, |