[template-glib] eval: add Enum.nick() method
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [template-glib] eval: add Enum.nick() method
- Date: Tue, 9 Aug 2016 21:30:17 +0000 (UTC)
commit ba6cc6d92a7cb43a2cfeace8a6671b4a52cf248d
Author: Christian Hergert <chergert redhat com>
Date: Tue Aug 9 14:27:51 2016 -0700
eval: add Enum.nick() method
src/tmpl-expr-eval.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/tmpl-expr-eval.c b/src/tmpl-expr-eval.c
index 49d671c..a546f9e 100644
--- a/src/tmpl-expr-eval.c
+++ b/src/tmpl-expr-eval.c
@@ -692,6 +692,23 @@ tmpl_expr_gi_call_eval (TmplExprGiCall *node,
goto cleanup;
}
+ if (G_VALUE_HOLDS_ENUM (&left))
+ {
+ if (FALSE) {}
+ else if (g_str_equal (node->name, "nick"))
+ {
+ GEnumClass *enum_class = g_type_class_peek (G_VALUE_TYPE (&left));
+ GEnumValue *enum_value = g_enum_get_value (enum_class, g_value_get_enum (&left));
+
+ g_value_init (return_value, G_TYPE_STRING);
+
+ if (enum_value != NULL)
+ g_value_set_static_string (return_value, enum_value->value_nick);
+
+ ret = TRUE;
+ }
+ }
+
if (!G_VALUE_HOLDS_OBJECT (&left))
{
g_set_error (error,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]