File: importer-enums.c.template

package info (click to toggle)
vala-panel-appmenu 0.7.1%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,336 kB
  • sloc: ansic: 2,309; xml: 83; makefile: 56; sh: 7
file content (88 lines) | stat: -rw-r--r-- 1,793 bytes parent folder | download
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/*** BEGIN file-header ***/
#include "importer-enums.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 GType the_type = 0;
	
	if (the_type == 0)
	{
		static const G@Type@Value values[] = {
/*** END value-header ***/

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

/*** BEGIN value-tail ***/
			{ 0, NULL, NULL }
		};
		the_type = g_@type@_register_static (
				g_intern_static_string ("@EnumName@"),
				values);
	}
	return the_type;
}

/**
	@enum_name@_get_nick:
	@value: The value of @EnumName@ to get the nick of

	Looks up in the enum table for the nick of @value.

	Return value: The nick for the given value or #NULL on error
*/
const gchar *
@enum_name@_get_nick (@EnumName@ value)
{
	GEnumClass * class = G_ENUM_CLASS(g_type_class_ref(@enum_name@_get_type()));
	g_return_val_if_fail(class != NULL, NULL);

	const gchar * ret = NULL;
	GEnumValue * val = g_enum_get_value(class, value);
	if (val != NULL) {
		ret = val->value_nick;
	}

	g_type_class_unref(class);
	return ret;
}

/**
	@enum_name@_get_value_from_nick:
	@nick: The enum nick to lookup

	Looks up in the enum table for the value of @nick.

	Return value: The value for the given @nick
*/
@EnumName@
@enum_name@_get_value_from_nick (const gchar * nick)
{
	GEnumClass * class = G_ENUM_CLASS(g_type_class_ref(@enum_name@_get_type()));
	g_return_val_if_fail(class != NULL, 0);

	@EnumName@ ret = 0;
	GEnumValue * val = g_enum_get_value_by_nick(class, nick);
	if (val != NULL) {
		ret = val->value;
	}

	g_type_class_unref(class);
	return ret;
}

/*** END value-tail ***/