summaryrefslogtreecommitdiffstats
path: root/subprojects/libhandy/src/hdy-enum-value-object.c
blob: 58ca13a757bc709150447193a97e00b1caa4c6c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
 * Copyright (C) 2018 Purism SPC
 *
 * SPDX-License-Identifier: LGPL-2.1+
 */

#include "config.h"

#include "hdy-enum-value-object.h"

/**
 * SECTION:hdy-enum-value-object
 * @short_description: An object representing a #GEnumValue.
 * @Title: HdyEnumValueObject
 *
 * The #HdyEnumValueObject object represents a #GEnumValue, allowing it to be
 * used with #GListModel.
 *
 * Since: 0.0.6
 */

struct _HdyEnumValueObject
{
  GObject parent_instance;

  GEnumValue enum_value;
};

G_DEFINE_TYPE (HdyEnumValueObject, hdy_enum_value_object, G_TYPE_OBJECT)

HdyEnumValueObject *
hdy_enum_value_object_new (GEnumValue *enum_value)
{
  HdyEnumValueObject *self = g_object_new (HDY_TYPE_ENUM_VALUE_OBJECT, NULL);

  self->enum_value = *enum_value;

  return self;
}

static void
hdy_enum_value_object_class_init (HdyEnumValueObjectClass *klass)
{
}

static void
hdy_enum_value_object_init (HdyEnumValueObject *self)
{
}

gint
hdy_enum_value_object_get_value (HdyEnumValueObject *self)
{
  g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), 0);

  return self->enum_value.value;
}

const gchar *
hdy_enum_value_object_get_name (HdyEnumValueObject *self)
{
  g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), NULL);

  return self->enum_value.value_name;
}

const gchar *
hdy_enum_value_object_get_nick (HdyEnumValueObject *self)
{
  g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), NULL);

  return self->enum_value.value_nick;
}