diff options
author | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-17 19:04:32 +0100 |
---|---|---|
committer | Marc-André Lureau <marcandre.lureau@gmail.com> | 2013-01-17 19:44:59 +0100 |
commit | e0b5fcb1c513c8360dd41e005c124600e6b62e4a (patch) | |
tree | 942868ba6e89a85a02acd1b63f160c5abddb2734 /libmsi | |
parent | 2b37f64de828377f48e9b5094528bcab4dfcc023 (diff) | |
download | msitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.tar.gz msitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.tar.xz msitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.zip |
Generate GObject enum/flags types
Diffstat (limited to 'libmsi')
-rw-r--r-- | libmsi/Makefile.am | 9 | ||||
-rw-r--r-- | libmsi/libmsi-enums.c.etemplate | 56 |
2 files changed, 63 insertions, 2 deletions
diff --git a/libmsi/Makefile.am b/libmsi/Makefile.am index 023ac73..e75ff77 100644 --- a/libmsi/Makefile.am +++ b/libmsi/Makefile.am @@ -20,6 +20,7 @@ libmsi_la_SOURCES = \ drop.c \ insert.c \ libmsi-database.c \ + libmsi-enums.c \ libmsi-istream.h \ libmsi-istream.c \ libmsi-query.c \ @@ -44,6 +45,8 @@ libmsi_la_LDFLAGS = -no-undefined -rpath $(libdir) \ libmsi_la_LIBADD = $(GLIB_LIBS) $(GSF_LIBS) $(GOBJECT_LIBS) +EXTRA_DIST = libmsi-enums.c.etemplate + INTROSPECTION_SCANNER_ARGS = --warn-all if GIR @@ -57,16 +60,18 @@ Libmsi_1_0_gir_CFLAGS = $(AM_CPPFLAGS) Libmsi_1_0_gir_INCLUDES = GObject-2.0 GLib-2.0 Gio-2.0 Libmsi_1_0_gir_LIBS = libmsi.la Libmsi_1_0_gir_FILES = \ - $(top_srcdir)/include/libmsi.h \ - $(top_srcdir)/include/libmsi-types.h \ $(top_srcdir)/include/libmsi-database.h \ $(top_srcdir)/include/libmsi-query.h \ $(top_srcdir)/include/libmsi-record.h \ $(top_srcdir)/include/libmsi-summary-info.h \ + $(top_srcdir)/include/libmsi-types.h \ + $(top_srcdir)/include/libmsi.h \ $(top_srcdir)/libmsi/libmsi-database.c \ $(top_srcdir)/libmsi/libmsi-query.c \ $(top_srcdir)/libmsi/libmsi-record.c \ $(top_srcdir)/libmsi/libmsi-summary-info.c \ + $(top_builddir)/include/libmsi-enums.h \ + libmsi-enums.c \ $(NULL) Libmsi_1_0_gir_EXPORT_PACKAGES = libmsi-1.0 Libmsi_1_0_gir_SCANNERFLAGS = --c-include="libmsi.h" diff --git a/libmsi/libmsi-enums.c.etemplate b/libmsi/libmsi-enums.c.etemplate new file mode 100644 index 0000000..04d7cf1 --- /dev/null +++ b/libmsi/libmsi-enums.c.etemplate @@ -0,0 +1,56 @@ +/*** BEGIN file-header ***/ +/* + * Copyright (C) 2002,2003 Mike McCormack + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "libmsi-enums.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +#include "@filename@" +/*** END file-production ***/ + + +/*** BEGIN value-header ***/ + +GType +@enum_name@_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + + if (g_once_init_enter (&g_define_type_id__volatile)) + { + 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 g_define_type_id = + g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + + return g_define_type_id__volatile; +} + +/*** END value-tail ***/ |