libmm-common: include Enums and Flags type information
The code to handle the Enums and Flags type information is automatically built with `glib-mkenums' and the new templates kept under `build-aux'. Note: We currently skip the type information of `MMModemBand'. GFlagsValue can hold only 32-bit types, and we're working with a 64-bit flag here. See: https://bugzilla.gnome.org/show_bug.cgi?id=663054
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
header-generator.xsl \
|
header-generator.xsl \
|
||||||
header-generator-new.xsl
|
header-generator-new.xsl \
|
||||||
|
mm-enums-types.h.template \
|
||||||
|
mm-enums-types.c.template
|
||||||
|
40
build-aux/mm-enums-types.c.template
Normal file
40
build-aux/mm-enums-types.c.template
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
/*** BEGIN file-header ***/
|
||||||
|
#include "ModemManager-enums.h"
|
||||||
|
#include "mm-enums-types.h"
|
||||||
|
|
||||||
|
/*** END file-header ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-production ***/
|
||||||
|
/* enumerations from "@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 ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-tail ***/
|
||||||
|
/*** END file-tail ***/
|
24
build-aux/mm-enums-types.h.template
Normal file
24
build-aux/mm-enums-types.h.template
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
/*** BEGIN file-header ***/
|
||||||
|
#ifndef __MM_ENUMS_TYPES_H__
|
||||||
|
#define __MM_ENUMS_TYPES_H__
|
||||||
|
|
||||||
|
#include <glib-object.h>
|
||||||
|
|
||||||
|
G_BEGIN_DECLS
|
||||||
|
/*** END file-header ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-production ***/
|
||||||
|
|
||||||
|
/* enumerations from "@filename@" */
|
||||||
|
/*** END file-production ***/
|
||||||
|
|
||||||
|
/*** BEGIN value-header ***/
|
||||||
|
GType @enum_name@_get_type (void) G_GNUC_CONST;
|
||||||
|
#define @ENUMPREFIX@TYPE_@ENUMSHORT@ (@enum_name@_get_type ())
|
||||||
|
/*** END value-header ***/
|
||||||
|
|
||||||
|
/*** BEGIN file-tail ***/
|
||||||
|
G_END_DECLS
|
||||||
|
|
||||||
|
#endif /* __MM_ENUMS_TYPES_H__ */
|
||||||
|
/*** END file-tail ***/
|
@@ -2,6 +2,7 @@
|
|||||||
noinst_LTLIBRARIES = libmm-common.la
|
noinst_LTLIBRARIES = libmm-common.la
|
||||||
|
|
||||||
GENERATED_H = \
|
GENERATED_H = \
|
||||||
|
mm-enums-types.h \
|
||||||
mm-gdbus-manager.h \
|
mm-gdbus-manager.h \
|
||||||
mm-gdbus-sim.h \
|
mm-gdbus-sim.h \
|
||||||
mm-gdbus-sms.h \
|
mm-gdbus-sms.h \
|
||||||
@@ -9,6 +10,7 @@ GENERATED_H = \
|
|||||||
mm-gdbus-modem.h
|
mm-gdbus-modem.h
|
||||||
|
|
||||||
GENERATED_C = \
|
GENERATED_C = \
|
||||||
|
mm-enums-types.c \
|
||||||
mm-gdbus-manager.c \
|
mm-gdbus-manager.c \
|
||||||
mm-gdbus-sim.c \
|
mm-gdbus-sim.c \
|
||||||
mm-gdbus-sms.c \
|
mm-gdbus-sms.c \
|
||||||
@@ -30,6 +32,17 @@ GENERATED_DOC = \
|
|||||||
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml \
|
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml \
|
||||||
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml
|
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml
|
||||||
|
|
||||||
|
# Enum types
|
||||||
|
mm-enums-types.h: $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-types.h.template
|
||||||
|
$(AM_V_GEN) glib-mkenums \
|
||||||
|
--template $(top_srcdir)/build-aux/mm-enums-types.h.template \
|
||||||
|
$(top_srcdir)/include/ModemManager-enums.h > $@
|
||||||
|
|
||||||
|
mm-enums-types.c: $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-types.c.template mm-enums-types.h
|
||||||
|
$(AM_V_GEN) glib-mkenums \
|
||||||
|
--template $(top_srcdir)/build-aux/mm-enums-types.c.template \
|
||||||
|
$(top_srcdir)/include/ModemManager-enums.h > $@
|
||||||
|
|
||||||
# Manager interface
|
# Manager interface
|
||||||
mm_gdbus_manager_generated = \
|
mm_gdbus_manager_generated = \
|
||||||
mm-gdbus-manager.h \
|
mm-gdbus-manager.h \
|
||||||
|
Reference in New Issue
Block a user