diff options
author | Stef Walter <stefw@gnome.org> | 2013-06-20 12:11:27 +0200 |
---|---|---|
committer | Stef Walter <stefw@gnome.org> | 2013-06-21 15:11:14 +0200 |
commit | cec740fea9a7ddec75cd625f86c03827e098326c (patch) | |
tree | a96fe43ac3df4b2b9f95872eb1a803a884daa73d | |
parent | 227a5b29042d9f1dc163bcae403a197bdf731233 (diff) | |
download | libsecret-cec740fea9a7ddec75cd625f86c03827e098326c.tar.gz |
Add secret_value_get_text() function to return NULL terminated secret
-rw-r--r-- | docs/reference/libsecret/libsecret-sections.txt | 1 | ||||
-rw-r--r-- | libsecret/secret-value.c | 22 | ||||
-rw-r--r-- | libsecret/secret-value.h | 2 |
3 files changed, 25 insertions, 0 deletions
diff --git a/docs/reference/libsecret/libsecret-sections.txt b/docs/reference/libsecret/libsecret-sections.txt index f8a9c1b..34045bc 100644 --- a/docs/reference/libsecret/libsecret-sections.txt +++ b/docs/reference/libsecret/libsecret-sections.txt @@ -296,6 +296,7 @@ SecretValue secret_value_new secret_value_new_full secret_value_get +secret_value_get_text secret_value_get_content_type secret_value_ref secret_value_unref diff --git a/libsecret/secret-value.c b/libsecret/secret-value.c index cbfdf6b..64130e0 100644 --- a/libsecret/secret-value.c +++ b/libsecret/secret-value.c @@ -44,6 +44,8 @@ * Stability: Unstable */ +static gboolean is_password_value (SecretValue *value); + /** * SecretValue: * @@ -170,6 +172,26 @@ secret_value_get (SecretValue *value, } /** + * secret_value_get_text: + * @value: the value + * + * Get the secret data in the #SecretValue if it contains a textual + * value. The content type must be <literal>text/plain</literal>. + * + * Returns: (allow-none): the content type + */ +const gchar * +secret_value_get_text (SecretValue *value) +{ + g_return_val_if_fail (value, NULL); + + if (!is_password_value (value)) + return NULL; + + return value->secret; +} + +/** * secret_value_get_content_type: * @value: the value * diff --git a/libsecret/secret-value.h b/libsecret/secret-value.h index 08bd88b..baaff34 100644 --- a/libsecret/secret-value.h +++ b/libsecret/secret-value.h @@ -43,6 +43,8 @@ SecretValue * secret_value_new_full (gchar *secret, const gchar * secret_value_get (SecretValue *value, gsize *length); +const gchar * secret_value_get_text (SecretValue *value); + const gchar * secret_value_get_content_type (SecretValue *value); SecretValue * secret_value_ref (SecretValue *value); |