aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-01-07 02:14:42 +0800
committerChristian Persch <chpe@src.gnome.org>2005-01-07 02:14:42 +0800
commit35ad841aceed89072e2cc6f589405a6feb411f74 (patch)
tree2fdf16ad0c9c630733841728c9bd0e3406bae4ba /lib
parent58a62ea3932ab6bdb599a0c519460a56622fe884 (diff)
downloadgsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar.gz
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar.bz2
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar.lz
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar.xz
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.tar.zst
gsoc2013-epiphany-35ad841aceed89072e2cc6f589405a6feb411f74.zip
Use glib-mkenums to generate the enum and flags get_type functions.
2005-01-06 Christian Persch <chpe@cvs.gnome.org> * configure.ac: * embed/Makefile.am: * embed/ephy-embed-event.c: * embed/ephy-embed-event.h: * embed/ephy-embed-persist.c: * embed/ephy-embed-persist.h: * embed/ephy-embed.c: * embed/ephy-embed.h: * embed/ephy-permission-manager.c: * embed/ephy-permission-manager.h: * lib/egg/Makefile.am: * lib/egg/egg-toolbars-model.c: * lib/egg/egg-toolbars-model.h: * src/Makefile.am: * src/ephy-link.c: * src/ephy-link.h: * src/ephy-navigation-action.c: * src/ephy-shell.c: (ephy_shell_error_quark): * src/ephy-shell.h: * src/ephy-tab.c: * src/ephy-tab.h: * src/ephy-window.c: Use glib-mkenums to generate the enum and flags get_type functions.
Diffstat (limited to 'lib')
-rw-r--r--lib/egg/Makefile.am41
-rwxr-xr-xlib/egg/egg-toolbars-model.c25
-rwxr-xr-xlib/egg/egg-toolbars-model.h2
3 files changed, 40 insertions, 28 deletions
diff --git a/lib/egg/Makefile.am b/lib/egg/Makefile.am
index dc2f0c6e3..1de926360 100644
--- a/lib/egg/Makefile.am
+++ b/lib/egg/Makefile.am
@@ -25,7 +25,8 @@ noinst_LTLIBRARIES = libegg.la
libegg_la_SOURCES = \
$(EGGSOURCES) \
- eggmarshalers.c
+ $(EGGHEADERS) \
+ $(BUILT_SOURCES)
libegg_la_CPPFLAGS = \
-I$(top_builddir)/lib/egg \
@@ -36,7 +37,11 @@ libegg_la_CFLAGS = \
$(EPIPHANY_DEPENDENCY_CFLAGS) \
$(AM_CFLAGS)
-BUILT_SOURCES = eggmarshalers.h eggmarshalers.c
+BUILT_SOURCES = \
+ eggmarshalers.c \
+ eggmarshalers.h \
+ eggtypebuiltins.c \
+ eggtypebuiltins.h
eggmarshalers.h: eggmarshalers.list
$(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header > eggmarshalers.h
@@ -44,6 +49,38 @@ eggmarshalers.h: eggmarshalers.list
eggmarshalers.c: eggmarshalers.list
$(GLIB_GENMARSHAL) --prefix=_egg_marshal $(srcdir)/eggmarshalers.list --header --body > eggmarshalers.c
+eggtypebuiltins.c: $(EGGHEADERS)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#include \"eggtypebuiltins.h\"\n\n" \
+ --fprod "\n/* enumerations from \"@filename@\" */" \
+ --fprod "\n#include \"@filename@\"" \
+ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
+ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ --vtail " { 0, NULL, NULL }\n};\n\n" \
+ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \
+ --vtail " static GType type = 0;\n\n" \
+ --vtail " if (G_UNLIKELY (type == 0))\n" \
+ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
+ --vtail " return type;\n}\n\n" \
+ $(EGGHEADERS) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
+eggtypebuiltins.h: $(EGGHEADERS)
+ ( cd $(srcdir) && $(GLIB_MKENUMS) \
+ --fhead "#ifndef __EGGTYPEBUILTINS_H__\n" \
+ --fhead "#define __EGGTYPEBUILTINS_H__ 1\n\n" \
+ --fhead "#include <glib-object.h>\n\n" \
+ --fhead "G_BEGIN_DECLS\n\n" \
+ --ftail "G_END_DECLS\n\n" \
+ --ftail "#endif /* __EGGTYPEBUILTINS_H__ */\n" \
+ --fprod "\n/* --- @filename@ --- */" \
+ --eprod "#define EGG_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
+ --eprod "GType @enum_name@_get_type (void);\n" \
+ $(EGGHEADERS) ) > xgen-$(@F) \
+ && ( cmp -s xgen-$(@F) $(@F) || cp xgen-$(@F) $(@F) ) \
+ && rm -f xgen-$(@F)
+
EXTRA_DIST= \
eggmarshalers.list
diff --git a/lib/egg/egg-toolbars-model.c b/lib/egg/egg-toolbars-model.c
index 0b4bc93ff..a92617f92 100755
--- a/lib/egg/egg-toolbars-model.c
+++ b/lib/egg/egg-toolbars-model.c
@@ -22,6 +22,7 @@
#include "config.h"
#include "egg-toolbars-model.h"
+#include "eggtypebuiltins.h"
#include "eggmarshalers.h"
#include <unistd.h>
@@ -71,30 +72,6 @@ struct EggToolbarsModelPrivate
};
GType
-egg_toolbars_model_flags_get_type (void)
-{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- static const GFlagsValue values[] =
- {
- { EGG_TB_MODEL_NOT_REMOVABLE, "EGG_TB_MODEL_NOT_REMOVABLE", "not-removable" },
- { EGG_TB_MODEL_ICONS_ONLY, "EGG_TB_MODEL_ICONS_ONLY", "icons-only" },
- { EGG_TB_MODEL_TEXT_ONLY, "EGG_TB_MODEL_TEXT_ONLY", "text-only" },
- { EGG_TB_MODEL_ICONS_TEXT, "EGG_TB_MODEL_ICONS_TEXT", "text" },
- { EGG_TB_MODEL_ICONS_TEXT_HORIZ, "EGG_TB_MODEL_ICONS_TEXT_HORIZ", "text-horiz" },
- { EGG_TB_MODEL_ACCEPT_ITEMS_ONLY, "EGG_TB_MODEL_ACCEPT_ITEMS_ONLY", "accept-items-only" },
- { 0, NULL, NULL }
- };
-
- type = g_flags_register_static ("EggToolbarsModelFlags", values);
- }
-
-return type;
-}
-
-GType
egg_toolbars_model_get_type (void)
{
static GType type = 0;
diff --git a/lib/egg/egg-toolbars-model.h b/lib/egg/egg-toolbars-model.h
index 551f46edb..276c4730d 100755
--- a/lib/egg/egg-toolbars-model.h
+++ b/lib/egg/egg-toolbars-model.h
@@ -34,8 +34,6 @@ G_BEGIN_DECLS
#define EGG_IS_TOOLBARS_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_TOOLBARS_MODEL))
#define EGG_TOOLBARS_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_TOOLBARS_MODEL, EggToolbarsModelClass))
-#define EGG_TYPE_TOOLBARS_MODEL_FLAGS (egg_toolbars_model_flags_get_type ())
-
typedef struct EggToolbarsModel EggToolbarsModel;
typedef struct EggToolbarsModelPrivate EggToolbarsModelPrivate;
typedef struct EggToolbarsModelClass EggToolbarsModelClass;