diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2011-02-24 22:42:58 -0500 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2011-02-24 22:42:58 -0500 |
commit | f40abc3f546c829edb4d059b2a4c1cfe1aa9eb81 (patch) | |
tree | 4d1246b94fd64432e727cc1c2e8b07cb531f4a14 /libdbusmenu-glib/enum-types.c.in | |
parent | 5d4e1c63e3e0fc2bcce9e1217e6565b8d16a83b4 (diff) | |
parent | 9e20f80e0b1b0e804c6b9d37c8faaf719ace90ff (diff) | |
download | libdbusmenu-f40abc3f546c829edb4d059b2a4c1cfe1aa9eb81.tar.gz libdbusmenu-f40abc3f546c829edb4d059b2a4c1cfe1aa9eb81.tar.bz2 libdbusmenu-f40abc3f546c829edb4d059b2a4c1cfe1aa9eb81.zip |
* New upstream release.
* Add a signal on the menuitem for generic event support
* Handle the case of a single NULL entry as well.
* Not checking defaults when value is NULL
* Add the 'type' variable first when processing new
menuitems
* Protection from unref'ing NULL variants
* Only send the requested properties and request fewer
* Add in a defaults database
* Only send property updates if the menu item has been
seen on the bus.
* Add a property for text direction.
* Add a property for needing attention.
* Documentation fixes
* Making menuitems track their own parents
* Resolving property changes by looking at the properties
directly.
Diffstat (limited to 'libdbusmenu-glib/enum-types.c.in')
-rw-r--r-- | libdbusmenu-glib/enum-types.c.in | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/libdbusmenu-glib/enum-types.c.in b/libdbusmenu-glib/enum-types.c.in new file mode 100644 index 0000000..9395f5f --- /dev/null +++ b/libdbusmenu-glib/enum-types.c.in @@ -0,0 +1,116 @@ +/*** BEGIN file-header ***/ +/* +Enums from the dbusmenu headers + +Copyright 2011 Canonical Ltd. + +Authors: + Ted Gould <ted@canonical.com> + +This program is free software: you can redistribute it and/or modify it +under the terms of either or both of the following licenses: + +1) the GNU Lesser General Public License version 3, as published by the + Free Software Foundation; and/or +2) the GNU Lesser General Public License version 2.1, as published by + the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR +PURPOSE. See the applicable version of the GNU Lesser General Public +License for more details. + +You should have received a copy of both the GNU Lesser General Public +License version 3 and version 2.1 along with this program. If not, see +<http://www.gnu.org/licenses/> +*/ + +#include "enum-types.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +#include "@filename@" +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +/** + @enum_name@_get_type: + + Builds a GLib type for the #@EnumName@ enumeration. + + Return value: A unique #GType for the #@EnumName@ enum. +*/ +GType +@enum_name@_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 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} + }; + + etype = g_@type@_register_static (g_intern_static_string("@EnumName@"), values); + } + + return etype; +} + +/** + @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 ***/ |