summaryrefslogtreecommitdiff
path: root/src/meta/meta-enum-types.c.in
blob: a5d83914172228e0b2be6b75c8f8384f78412c8e (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
/*** BEGIN file-header ***/
#include <meta/meta-enum-types.h>
/*** END file-header ***/

/*** BEGIN file-production ***/

/* enumerations from "@filename@" */
#include "@filename@"

/*** END file-production ***/

/*** BEGIN value-header ***/
GType
@enum_name@_get_type (void)
{
  static size_t g_enum_type_id = 0;

  if (g_once_init_enter (&g_enum_type_id))
    {
      static const G@Type@Value values[] = {
/*** END value-header ***/

/*** BEGIN value-production ***/
        { @VALUENAME@, "@VALUENAME@", "@valuenick@" },
/*** END value-production ***/

/*** BEGIN value-tail ***/
        { 0, NULL, NULL }
      };
      GType id;

      id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);

      g_once_init_leave (&g_enum_type_id, id);
    }

  return g_enum_type_id;
}
/*** END value-tail ***/