summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-17 19:04:32 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2013-01-17 19:44:59 +0100
commite0b5fcb1c513c8360dd41e005c124600e6b62e4a (patch)
tree942868ba6e89a85a02acd1b63f160c5abddb2734 /libmsi
parent2b37f64de828377f48e9b5094528bcab4dfcc023 (diff)
downloadmsitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.tar.gz
msitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.tar.xz
msitools-e0b5fcb1c513c8360dd41e005c124600e6b62e4a.zip
Generate GObject enum/flags types
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/Makefile.am9
-rw-r--r--libmsi/libmsi-enums.c.etemplate56
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 ***/