aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2014-02-05 08:38:36 +0100
committerGuido Günther <agx@sigxcpu.org>2014-02-05 08:38:36 +0100
commitafc4b839a31c530d73b91aa2483795f185eb7e52 (patch)
tree68655a93926a9981b4d49b66106646efbb2d7c17 /libmm-glib
parent13ed135b9ae78c692dc359976eb8b54d0a3629b8 (diff)
Imported Upstream version 1.0.0upstream/1.0.0
Diffstat (limited to 'libmm-glib')
-rw-r--r--libmm-glib/Makefile.am4
-rw-r--r--libmm-glib/Makefile.in43
-rw-r--r--libmm-glib/generated/Makefile.am3
-rw-r--r--libmm-glib/generated/Makefile.in23
-rw-r--r--libmm-glib/generated/mm-enums-types.h16
-rw-r--r--libmm-glib/generated/mm-gdbus-bearer.h2
-rw-r--r--libmm-glib/generated/mm-gdbus-manager.h2
-rw-r--r--libmm-glib/generated/mm-gdbus-modem.h330
-rw-r--r--libmm-glib/generated/mm-gdbus-sim.h2
-rw-r--r--libmm-glib/generated/mm-gdbus-sms.h2
-rw-r--r--libmm-glib/mm-common-helpers.c91
-rw-r--r--libmm-glib/mm-common-helpers.h10
-rw-r--r--libmm-glib/mm-firmware-properties.c2
-rw-r--r--libmm-glib/mm-helper-types.c41
-rw-r--r--libmm-glib/mm-helper-types.h16
-rw-r--r--libmm-glib/mm-manager.c2
-rw-r--r--libmm-glib/mm-modem.c123
-rw-r--r--libmm-glib/mm-modem.h7
-rw-r--r--libmm-glib/mm-sms-properties.c4
-rw-r--r--libmm-glib/tests/Makefile.am12
-rw-r--r--libmm-glib/tests/Makefile.in119
21 files changed, 464 insertions, 390 deletions
diff --git a/libmm-glib/Makefile.am b/libmm-glib/Makefile.am
index b189b91..6c1e9ba 100644
--- a/libmm-glib/Makefile.am
+++ b/libmm-glib/Makefile.am
@@ -6,6 +6,7 @@ libmm_glib_la_SOURCES = \
libmm-glib.h \
mm-helpers.h \
mm-helper-types.h \
+ mm-helper-types.c \
mm-manager.h \
mm-manager.c \
mm-object.h \
@@ -75,6 +76,9 @@ libmm_glib_la_LIBADD = \
${top_builddir}/libmm-glib/generated/libmm-generated.la \
$(LIBMM_GLIB_LIBS)
+libmm_glib_la_LDFLAGS = \
+ -version-info $(MM_GLIB_LT_CURRENT):$(MM_GLIB_LT_REVISION):$(MM_GLIB_LT_AGE)
+
includedir = @includedir@/libmm-glib
include_HEADERS = \
libmm-glib.h \
diff --git a/libmm-glib/Makefile.in b/libmm-glib/Makefile.in
index 830f3ed..2cd295c 100644
--- a/libmm-glib/Makefile.in
+++ b/libmm-glib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -132,9 +132,9 @@ am__DEPENDENCIES_1 =
libmm_glib_la_DEPENDENCIES = \
${top_builddir}/libmm-glib/generated/libmm-generated.la \
$(am__DEPENDENCIES_1)
-am_libmm_glib_la_OBJECTS = libmm_glib_la-mm-manager.lo \
- libmm_glib_la-mm-object.lo libmm_glib_la-mm-modem.lo \
- libmm_glib_la-mm-modem-3gpp.lo \
+am_libmm_glib_la_OBJECTS = libmm_glib_la-mm-helper-types.lo \
+ libmm_glib_la-mm-manager.lo libmm_glib_la-mm-object.lo \
+ libmm_glib_la-mm-modem.lo libmm_glib_la-mm-modem-3gpp.lo \
libmm_glib_la-mm-modem-3gpp-ussd.lo \
libmm_glib_la-mm-modem-cdma.lo \
libmm_glib_la-mm-modem-simple.lo \
@@ -160,6 +160,9 @@ AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
+libmm_glib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(libmm_glib_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -273,8 +276,6 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -298,7 +299,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_MKENUMS = @GLIB_MKENUMS@
-GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -315,7 +315,6 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
@@ -347,14 +346,20 @@ MANIFEST_TOOL = @MANIFEST_TOOL@
MBIM_CFLAGS = @MBIM_CFLAGS@
MBIM_LIBS = @MBIM_LIBS@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MMCLI_CFLAGS = @MMCLI_CFLAGS@
MMCLI_LIBS = @MMCLI_LIBS@
MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
-MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -373,13 +378,9 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
POLKIT_CFLAGS = @POLKIT_CFLAGS@
POLKIT_LIBS = @POLKIT_LIBS@
POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-PPPD_PLUGIN_DIR = @PPPD_PLUGIN_DIR@
QMI_CFLAGS = @QMI_CFLAGS@
QMI_LIBS = @QMI_LIBS@
RANLIB = @RANLIB@
@@ -454,6 +455,7 @@ libmm_glib_la_SOURCES = \
libmm-glib.h \
mm-helpers.h \
mm-helper-types.h \
+ mm-helper-types.c \
mm-manager.h \
mm-manager.c \
mm-object.h \
@@ -523,6 +525,9 @@ libmm_glib_la_LIBADD = \
${top_builddir}/libmm-glib/generated/libmm-generated.la \
$(LIBMM_GLIB_LIBS)
+libmm_glib_la_LDFLAGS = \
+ -version-info $(MM_GLIB_LT_CURRENT):$(MM_GLIB_LT_REVISION):$(MM_GLIB_LT_AGE)
+
include_HEADERS = \
libmm-glib.h \
mm-helper-types.h \
@@ -625,7 +630,7 @@ clean-libLTLIBRARIES:
}
libmm-glib.la: $(libmm_glib_la_OBJECTS) $(libmm_glib_la_DEPENDENCIES) $(EXTRA_libmm_glib_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) -rpath $(libdir) $(libmm_glib_la_OBJECTS) $(libmm_glib_la_LIBADD) $(LIBS)
+ $(AM_V_CCLD)$(libmm_glib_la_LINK) -rpath $(libdir) $(libmm_glib_la_OBJECTS) $(libmm_glib_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -638,6 +643,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-bearer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-helper-types.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo@am__quote@
@@ -685,6 +691,13 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+libmm_glib_la-mm-helper-types.lo: mm-helper-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-helper-types.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-helper-types.Tpo -c -o libmm_glib_la-mm-helper-types.lo `test -f 'mm-helper-types.c' || echo '$(srcdir)/'`mm-helper-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-helper-types.Tpo $(DEPDIR)/libmm_glib_la-mm-helper-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-helper-types.c' object='libmm_glib_la-mm-helper-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-helper-types.lo `test -f 'mm-helper-types.c' || echo '$(srcdir)/'`mm-helper-types.c
+
libmm_glib_la-mm-manager.lo: mm-manager.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-manager.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-manager.Tpo -c -o libmm_glib_la-mm-manager.lo `test -f 'mm-manager.c' || echo '$(srcdir)/'`mm-manager.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-manager.Tpo $(DEPDIR)/libmm_glib_la-mm-manager.Plo
diff --git a/libmm-glib/generated/Makefile.am b/libmm-glib/generated/Makefile.am
index c0429b1..b54b234 100644
--- a/libmm-glib/generated/Makefile.am
+++ b/libmm-glib/generated/Makefile.am
@@ -30,7 +30,6 @@ GENERATED_DOC = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
- mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
@@ -95,7 +94,6 @@ mm_gdbus_modem_generated = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
- mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
@@ -106,7 +104,6 @@ mm_gdbus_modem_deps = \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Location.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Time.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml \
- $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Contacts.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
diff --git a/libmm-glib/generated/Makefile.in b/libmm-glib/generated/Makefile.in
index 66ff5f6..9671e1e 100644
--- a/libmm-glib/generated/Makefile.in
+++ b/libmm-glib/generated/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -216,8 +216,6 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -241,7 +239,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_MKENUMS = @GLIB_MKENUMS@
-GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -258,7 +255,6 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
@@ -290,14 +286,20 @@ MANIFEST_TOOL = @MANIFEST_TOOL@
MBIM_CFLAGS = @MBIM_CFLAGS@
MBIM_LIBS = @MBIM_LIBS@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MMCLI_CFLAGS = @MMCLI_CFLAGS@
MMCLI_LIBS = @MMCLI_LIBS@
MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
-MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -316,13 +318,9 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
POLKIT_CFLAGS = @POLKIT_CFLAGS@
POLKIT_LIBS = @POLKIT_LIBS@
POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-PPPD_PLUGIN_DIR = @PPPD_PLUGIN_DIR@
QMI_CFLAGS = @QMI_CFLAGS@
QMI_LIBS = @QMI_LIBS@
RANLIB = @RANLIB@
@@ -421,7 +419,6 @@ GENERATED_DOC = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
- mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
@@ -445,7 +442,6 @@ mm_gdbus_modem_generated = \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
- mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
@@ -457,7 +453,6 @@ mm_gdbus_modem_deps = \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Location.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Time.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml \
- $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Contacts.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
$(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
diff --git a/libmm-glib/generated/mm-enums-types.h b/libmm-glib/generated/mm-enums-types.h
index c95b8e7..9d132e4 100644
--- a/libmm-glib/generated/mm-enums-types.h
+++ b/libmm-glib/generated/mm-enums-types.h
@@ -154,6 +154,22 @@ const gchar *mm_modem_band_get_string (MMModemBand val);
gchar *mm_modem_band_build_string_from_mask (MMModemBand mask);
#endif
+GType mm_modem_port_type_get_type (void) G_GNUC_CONST;
+#define MM_TYPE_MODEM_PORT_TYPE (mm_modem_port_type_get_type ())
+
+/* Define type-specific symbols */
+#undef __MM_IS_ENUM__
+#undef __MM_IS_FLAGS__
+#define __MM_IS_ENUM__
+
+#if defined __MM_IS_ENUM__
+const gchar *mm_modem_port_type_get_string (MMModemPortType val);
+#endif
+
+#if defined __MM_IS_FLAGS__
+gchar *mm_modem_port_type_build_string_from_mask (MMModemPortType mask);
+#endif
+
GType mm_sms_pdu_type_get_type (void) G_GNUC_CONST;
#define MM_TYPE_SMS_PDU_TYPE (mm_sms_pdu_type_get_type ())
diff --git a/libmm-glib/generated/mm-gdbus-bearer.h b/libmm-glib/generated/mm-gdbus-bearer.h
index 2d8b36b..5d2c096 100644
--- a/libmm-glib/generated/mm-gdbus-bearer.h
+++ b/libmm-glib/generated/mm-gdbus-bearer.h
@@ -1,5 +1,5 @@
/*
- * Generated by gdbus-codegen 2.36.2. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.36.3. DO NOT EDIT.
*
* The license of this code is the same as for the source it was derived from.
*/
diff --git a/libmm-glib/generated/mm-gdbus-manager.h b/libmm-glib/generated/mm-gdbus-manager.h
index 85d3b66..f30af97 100644
--- a/libmm-glib/generated/mm-gdbus-manager.h
+++ b/libmm-glib/generated/mm-gdbus-manager.h
@@ -1,5 +1,5 @@
/*
- * Generated by gdbus-codegen 2.36.2. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.36.3. DO NOT EDIT.
*
* The license of this code is the same as for the source it was derived from.
*/
diff --git a/libmm-glib/generated/mm-gdbus-modem.h b/libmm-glib/generated/mm-gdbus-modem.h
index 4545c82..3c80357 100644
--- a/libmm-glib/generated/mm-gdbus-modem.h
+++ b/libmm-glib/generated/mm-gdbus-modem.h
@@ -1,5 +1,5 @@
/*
- * Generated by gdbus-codegen 2.36.2. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.36.3. DO NOT EDIT.
*
* The license of this code is the same as for the source it was derived from.
*/
@@ -112,6 +112,8 @@ struct _MmGdbusModemIface
const gchar * (*get_plugin) (MmGdbusModem *object);
+ GVariant * (*get_ports) (MmGdbusModem *object);
+
guint (*get_power_state) (MmGdbusModem *object);
const gchar * (*get_primary_port) (MmGdbusModem *object);
@@ -466,6 +468,10 @@ const gchar *mm_gdbus_modem_get_primary_port (MmGdbusModem *object);
gchar *mm_gdbus_modem_dup_primary_port (MmGdbusModem *object);
void mm_gdbus_modem_set_primary_port (MmGdbusModem *object, const gchar *value);
+GVariant *mm_gdbus_modem_get_ports (MmGdbusModem *object);
+GVariant *mm_gdbus_modem_dup_ports (MmGdbusModem *object);
+void mm_gdbus_modem_set_ports (MmGdbusModem *object, GVariant *value);
+
const gchar *mm_gdbus_modem_get_equipment_identifier (MmGdbusModem *object);
gchar *mm_gdbus_modem_dup_equipment_identifier (MmGdbusModem *object);
void mm_gdbus_modem_set_equipment_identifier (MmGdbusModem *object, const gchar *value);
@@ -1424,325 +1430,6 @@ MmGdbusModemFirmware *mm_gdbus_modem_firmware_skeleton_new (void);
/* ------------------------------------------------------------------------ */
-/* Declarations for org.freedesktop.ModemManager1.Modem.Contacts */
-
-#define MM_GDBUS_TYPE_MODEM_CONTACTS (mm_gdbus_modem_contacts_get_type ())
-#define MM_GDBUS_MODEM_CONTACTS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MM_GDBUS_TYPE_MODEM_CONTACTS, MmGdbusModemContacts))
-#define MM_GDBUS_IS_MODEM_CONTACTS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MM_GDBUS_TYPE_MODEM_CONTACTS))
-#define MM_GDBUS_MODEM_CONTACTS_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), MM_GDBUS_TYPE_MODEM_CONTACTS, MmGdbusModemContactsIface))
-
-struct _MmGdbusModemContacts;
-typedef struct _MmGdbusModemContacts MmGdbusModemContacts;
-typedef struct _MmGdbusModemContactsIface MmGdbusModemContactsIface;
-
-struct _MmGdbusModemContactsIface
-{
- GTypeInterface parent_iface;
-
-
- gboolean (*handle_add) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- GVariant *arg_properties);
-
- gboolean (*handle_delete) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- guint arg_index);
-
- gboolean (*handle_find) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- const gchar *arg_pattern);
-
- gboolean (*handle_get) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- guint arg_index);
-
- gboolean (*handle_get_count) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation);
-
- gboolean (*handle_list) (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation);
-
- void (*added) (
- MmGdbusModemContacts *object,
- guint arg_index,
- GVariant *arg_properties);
-
- void (*deleted) (
- MmGdbusModemContacts *object,
- guint arg_index);
-
-};
-
-GType mm_gdbus_modem_contacts_get_type (void) G_GNUC_CONST;
-
-GDBusInterfaceInfo *mm_gdbus_modem_contacts_interface_info (void);
-guint mm_gdbus_modem_contacts_override_properties (GObjectClass *klass, guint property_id_begin);
-
-
-/* D-Bus method call completion functions: */
-void mm_gdbus_modem_contacts_complete_add (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- guint index);
-
-void mm_gdbus_modem_contacts_complete_delete (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation);
-
-void mm_gdbus_modem_contacts_complete_get (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- GVariant *properties);
-
-void mm_gdbus_modem_contacts_complete_list (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- GVariant *results);
-
-void mm_gdbus_modem_contacts_complete_find (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- GVariant *results);
-
-void mm_gdbus_modem_contacts_complete_get_count (
- MmGdbusModemContacts *object,
- GDBusMethodInvocation *invocation,
- guint count);
-
-
-
-/* D-Bus signal emissions functions: */
-void mm_gdbus_modem_contacts_emit_added (
- MmGdbusModemContacts *object,
- guint arg_index,
- GVariant *arg_properties);
-
-void mm_gdbus_modem_contacts_emit_deleted (
- MmGdbusModemContacts *object,
- guint arg_index);
-
-
-
-/* D-Bus method calls: */
-void mm_gdbus_modem_contacts_call_add (
- MmGdbusModemContacts *proxy,
- GVariant *arg_properties,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_add_finish (
- MmGdbusModemContacts *proxy,
- guint *out_index,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_add_sync (
- MmGdbusModemContacts *proxy,
- GVariant *arg_properties,
- guint *out_index,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_call_delete (
- MmGdbusModemContacts *proxy,
- guint arg_index,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_delete_finish (
- MmGdbusModemContacts *proxy,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_delete_sync (
- MmGdbusModemContacts *proxy,
- guint arg_index,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_call_get (
- MmGdbusModemContacts *proxy,
- guint arg_index,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_get_finish (
- MmGdbusModemContacts *proxy,
- GVariant **out_properties,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_get_sync (
- MmGdbusModemContacts *proxy,
- guint arg_index,
- GVariant **out_properties,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_call_list (
- MmGdbusModemContacts *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_list_finish (
- MmGdbusModemContacts *proxy,
- GVariant **out_results,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_list_sync (
- MmGdbusModemContacts *proxy,
- GVariant **out_results,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_call_find (
- MmGdbusModemContacts *proxy,
- const gchar *arg_pattern,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_find_finish (
- MmGdbusModemContacts *proxy,
- GVariant **out_results,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_find_sync (
- MmGdbusModemContacts *proxy,
- const gchar *arg_pattern,
- GVariant **out_results,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_call_get_count (
- MmGdbusModemContacts *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean mm_gdbus_modem_contacts_call_get_count_finish (
- MmGdbusModemContacts *proxy,
- guint *out_count,
- GAsyncResult *res,
- GError **error);
-
-gboolean mm_gdbus_modem_contacts_call_get_count_sync (
- MmGdbusModemContacts *proxy,
- guint *out_count,
- GCancellable *cancellable,
- GError **error);
-
-
-
-/* ---- */
-
-#define MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY (mm_gdbus_modem_contacts_proxy_get_type ())
-#define MM_GDBUS_MODEM_CONTACTS_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY, MmGdbusModemContactsProxy))
-#define MM_GDBUS_MODEM_CONTACTS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY, MmGdbusModemContactsProxyClass))
-#define MM_GDBUS_MODEM_CONTACTS_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY, MmGdbusModemContactsProxyClass))
-#define MM_GDBUS_IS_MODEM_CONTACTS_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY))
-#define MM_GDBUS_IS_MODEM_CONTACTS_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY))
-
-typedef struct _MmGdbusModemContactsProxy MmGdbusModemContactsProxy;
-typedef struct _MmGdbusModemContactsProxyClass MmGdbusModemContactsProxyClass;
-typedef struct _MmGdbusModemContactsProxyPrivate MmGdbusModemContactsProxyPrivate;
-
-struct _MmGdbusModemContactsProxy
-{
- /*< private >*/
- GDBusProxy parent_instance;
- MmGdbusModemContactsProxyPrivate *priv;
-};
-
-struct _MmGdbusModemContactsProxyClass
-{
- GDBusProxyClass parent_class;
-};
-
-GType mm_gdbus_modem_contacts_proxy_get_type (void) G_GNUC_CONST;
-
-void mm_gdbus_modem_contacts_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-MmGdbusModemContacts *mm_gdbus_modem_contacts_proxy_new_finish (
- GAsyncResult *res,
- GError **error);
-MmGdbusModemContacts *mm_gdbus_modem_contacts_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-void mm_gdbus_modem_contacts_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-MmGdbusModemContacts *mm_gdbus_modem_contacts_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error);
-MmGdbusModemContacts *mm_gdbus_modem_contacts_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error);
-
-
-/* ---- */
-
-#define MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON (mm_gdbus_modem_contacts_skeleton_get_type ())
-#define MM_GDBUS_MODEM_CONTACTS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON, MmGdbusModemContactsSkeleton))
-#define MM_GDBUS_MODEM_CONTACTS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON, MmGdbusModemContactsSkeletonClass))
-#define MM_GDBUS_MODEM_CONTACTS_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON, MmGdbusModemContactsSkeletonClass))
-#define MM_GDBUS_IS_MODEM_CONTACTS_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON))
-#define MM_GDBUS_IS_MODEM_CONTACTS_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MM_GDBUS_TYPE_MODEM_CONTACTS_SKELETON))
-
-typedef struct _MmGdbusModemContactsSkeleton MmGdbusModemContactsSkeleton;
-typedef struct _MmGdbusModemContactsSkeletonClass MmGdbusModemContactsSkeletonClass;
-typedef struct _MmGdbusModemContactsSkeletonPrivate MmGdbusModemContactsSkeletonPrivate;
-
-struct _MmGdbusModemContactsSkeleton
-{
- /*< private >*/
- GDBusInterfaceSkeleton parent_instance;
- MmGdbusModemContactsSkeletonPrivate *priv;
-};
-
-struct _MmGdbusModemContactsSkeletonClass
-{
- GDBusInterfaceSkeletonClass parent_class;
-};
-
-GType mm_gdbus_modem_contacts_skeleton_get_type (void) G_GNUC_CONST;
-
-MmGdbusModemContacts *mm_gdbus_modem_contacts_skeleton_new (void);
-
-
-/* ------------------------------------------------------------------------ */
/* Declarations for org.freedesktop.ModemManager1.Modem.ModemCdma */
#define MM_GDBUS_TYPE_MODEM_CDMA (mm_gdbus_modem_cdma_get_type ())
@@ -2652,7 +2339,6 @@ MmGdbusModemMessaging *mm_gdbus_object_get_modem_messaging (MmGdbusObject *objec
MmGdbusModemLocation *mm_gdbus_object_get_modem_location (MmGdbusObject *object);
MmGdbusModemTime *mm_gdbus_object_get_modem_time (MmGdbusObject *object);
MmGdbusModemFirmware *mm_gdbus_object_get_modem_firmware (MmGdbusObject *object);
-MmGdbusModemContacts *mm_gdbus_object_get_modem_contacts (MmGdbusObject *object);
MmGdbusModemCdma *mm_gdbus_object_get_modem_cdma (MmGdbusObject *object);
MmGdbusModem3gpp *mm_gdbus_object_get_modem3gpp (MmGdbusObject *object);
MmGdbusModem3gppUssd *mm_gdbus_object_get_modem3gpp_ussd (MmGdbusObject *object);
@@ -2662,7 +2348,6 @@ MmGdbusModemMessaging *mm_gdbus_object_peek_modem_messaging (MmGdbusObject *obje
MmGdbusModemLocation *mm_gdbus_object_peek_modem_location (MmGdbusObject *object);
MmGdbusModemTime *mm_gdbus_object_peek_modem_time (MmGdbusObject *object);
MmGdbusModemFirmware *mm_gdbus_object_peek_modem_firmware (MmGdbusObject *object);
-MmGdbusModemContacts *mm_gdbus_object_peek_modem_contacts (MmGdbusObject *object);
MmGdbusModemCdma *mm_gdbus_object_peek_modem_cdma (MmGdbusObject *object);
MmGdbusModem3gpp *mm_gdbus_object_peek_modem3gpp (MmGdbusObject *object);
MmGdbusModem3gppUssd *mm_gdbus_object_peek_modem3gpp_ussd (MmGdbusObject *object);
@@ -2724,7 +2409,6 @@ void mm_gdbus_object_skeleton_set_modem_messaging (MmGdbusObjectSkeleton *object
void mm_gdbus_object_skeleton_set_modem_location (MmGdbusObjectSkeleton *object, MmGdbusModemLocation *interface_);
void mm_gdbus_object_skeleton_set_modem_time (MmGdbusObjectSkeleton *object, MmGdbusModemTime *interface_);
void mm_gdbus_object_skeleton_set_modem_firmware (MmGdbusObjectSkeleton *object, MmGdbusModemFirmware *interface_);
-void mm_gdbus_object_skeleton_set_modem_contacts (MmGdbusObjectSkeleton *object, MmGdbusModemContacts *interface_);
void mm_gdbus_object_skeleton_set_modem_cdma (MmGdbusObjectSkeleton *object, MmGdbusModemCdma *interface_);
void mm_gdbus_object_skeleton_set_modem3gpp (MmGdbusObjectSkeleton *object, MmGdbusModem3gpp *interface_);
void mm_gdbus_object_skeleton_set_modem3gpp_ussd (MmGdbusObjectSkeleton *object, MmGdbusModem3gppUssd *interface_);
diff --git a/libmm-glib/generated/mm-gdbus-sim.h b/libmm-glib/generated/mm-gdbus-sim.h
index 9353037..b318a6d 100644
--- a/libmm-glib/generated/mm-gdbus-sim.h
+++ b/libmm-glib/generated/mm-gdbus-sim.h
@@ -1,5 +1,5 @@
/*
- * Generated by gdbus-codegen 2.36.2. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.36.3. DO NOT EDIT.
*
* The license of this code is the same as for the source it was derived from.
*/
diff --git a/libmm-glib/generated/mm-gdbus-sms.h b/libmm-glib/generated/mm-gdbus-sms.h
index 9167ce2..c965eb2 100644
--- a/libmm-glib/generated/mm-gdbus-sms.h
+++ b/libmm-glib/generated/mm-gdbus-sms.h
@@ -1,5 +1,5 @@
/*
- * Generated by gdbus-codegen 2.36.2. DO NOT EDIT.
+ * Generated by gdbus-codegen 2.36.3. DO NOT EDIT.
*
* The license of this code is the same as for the source it was derived from.
*/
diff --git a/libmm-glib/mm-common-helpers.c b/libmm-glib/mm-common-helpers.c
index 838e09f..740b316 100644
--- a/libmm-glib/mm-common-helpers.c
+++ b/libmm-glib/mm-common-helpers.c
@@ -78,6 +78,31 @@ mm_common_build_bands_string (const MMModemBand *bands,
}
gchar *
+mm_common_build_ports_string (const MMModemPortInfo *ports,
+ guint n_ports)
+{
+ gboolean first = TRUE;
+ GString *str;
+ guint i;
+
+ if (!ports || !n_ports)
+ return g_strdup ("none");
+
+ str = g_string_new ("");
+ for (i = 0; i < n_ports; i++) {
+ g_string_append_printf (str, "%s%s (%s)",
+ first ? "" : ", ",
+ ports[i].name,
+ mm_modem_port_type_get_string (ports[i].type));
+
+ if (first)
+ first = FALSE;
+ }
+
+ return g_string_free (str, FALSE);
+}
+
+gchar *
mm_common_build_sms_storages_string (const MMSmsStorage *storages,
guint n_storages)
{
@@ -194,6 +219,72 @@ mm_common_sms_storages_garray_to_variant (GArray *array)
return mm_common_sms_storages_array_to_variant (NULL, 0);
}
+GArray *
+mm_common_ports_variant_to_garray (GVariant *variant)
+{
+ GArray *array = NULL;
+
+ if (variant) {
+ guint i;
+ guint n;
+
+ n = g_variant_n_children (variant);
+
+ if (n > 0) {
+ array = g_array_sized_new (FALSE, FALSE, sizeof (MMModemPortInfo), n);
+ for (i = 0; i < n; i++) {
+ MMModemPortInfo info;
+
+ g_variant_get_child (variant, i, "(su)", &info.name, &info.type);
+ g_array_append_val (array, info);
+ }
+ }
+ }
+
+ return array;
+}
+
+MMModemPortInfo *
+mm_common_ports_variant_to_array (GVariant *variant,
+ guint *n_ports)
+{
+ GArray *array;
+
+ array = mm_common_ports_variant_to_garray (variant);
+ if (n_ports)
+ *n_ports = array->len;
+ return (MMModemPortInfo *) g_array_free (array, FALSE);
+}
+
+GVariant *
+mm_common_ports_array_to_variant (const MMModemPortInfo *ports,
+ guint n_ports)
+{
+ GVariantBuilder builder;
+ guint i;
+
+ g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(su)"));
+
+ for (i = 0; i < n_ports; i++) {
+ GVariant *tuple[2];
+
+ tuple[0] = g_variant_new_string (ports[i].name);
+ tuple[1] = g_variant_new_uint32 ((guint32)ports[i].type);
+ g_variant_builder_add_value (&builder, g_variant_new_tuple (tuple, 2));
+ }
+ return g_variant_builder_end (&builder);
+}
+
+GVariant *
+mm_common_ports_garray_to_variant (GArray *array)
+{
+ if (array)
+ return mm_common_ports_array_to_variant ((const MMModemPortInfo *)array->data,
+ array->len);
+
+ return mm_common_ports_array_to_variant (NULL, 0);
+}
+
MMModemCapability
mm_common_get_capabilities_from_string (const gchar *str,
GError **error)
diff --git a/libmm-glib/mm-common-helpers.h b/libmm-glib/mm-common-helpers.h
index 161d903..c9e7c2c 100644
--- a/libmm-glib/mm-common-helpers.h
+++ b/libmm-glib/mm-common-helpers.h
@@ -32,6 +32,9 @@ gchar *mm_common_build_capabilities_string (const MMModemCapability *capabilitie
gchar *mm_common_build_bands_string (const MMModemBand *bands,
guint n_bands);
+gchar *mm_common_build_ports_string (const MMModemPortInfo *ports,
+ guint n_ports);
+
gchar *mm_common_build_sms_storages_string (const MMSmsStorage *storages,
guint n_storages);
@@ -57,6 +60,13 @@ MMBearerAllowedAuth mm_common_get_allowed_auth_from_string (const gchar *str,
MMSmsStorage mm_common_get_sms_storage_from_string (const gchar *str,
GError **error);
+GArray *mm_common_ports_variant_to_garray (GVariant *variant);
+MMModemPortInfo *mm_common_ports_variant_to_array (GVariant *variant,
+ guint *n_ports);
+GVariant *mm_common_ports_array_to_variant (const MMModemPortInfo *ports,
+ guint n_ports);
+GVariant *mm_common_ports_garray_to_variant (GArray *array);
+
GArray *mm_common_sms_storages_variant_to_garray (GVariant *variant);
MMSmsStorage *mm_common_sms_storages_variant_to_array (GVariant *variant,
guint *n_storages);
diff --git a/libmm-glib/mm-firmware-properties.c b/libmm-glib/mm-firmware-properties.c
index c145122..b9d9572 100644
--- a/libmm-glib/mm-firmware-properties.c
+++ b/libmm-glib/mm-firmware-properties.c
@@ -255,8 +255,6 @@ mm_firmware_properties_get_dictionary (MMFirmwareProperties *self)
{
GVariantBuilder builder;
- g_return_val_if_fail (MM_IS_FIRMWARE_PROPERTIES (self), NULL);
-
/* We do allow NULL */
if (!self)
return NULL;
diff --git a/libmm-glib/mm-helper-types.c b/libmm-glib/mm-helper-types.c
new file mode 100644
index 0000000..1ac3610
--- /dev/null
+++ b/libmm-glib/mm-helper-types.c
@@ -0,0 +1,41 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * libmm -- Access modem status & information from glib applications
+ *
+ * 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 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 Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2013 Aleksander Morgado <aleksander@gnu.org>
+ */
+
+#include "mm-helper-types.h"
+
+/**
+ * mm_modem_port_info_array_free:
+ * @array: an array of #MMModemPortInfo values.
+ * @array_size: length of @array.
+ *
+ * Frees an array of #MMModemPortInfo values.
+ */
+void
+mm_modem_port_info_array_free (MMModemPortInfo *array,
+ guint array_size)
+{
+ guint i;
+
+ for (i = 0; i < array_size; i++)
+ g_free (array[i].name);
+ g_free (array);
+}
diff --git a/libmm-glib/mm-helper-types.h b/libmm-glib/mm-helper-types.h
index 129b01d..c235ff6 100644
--- a/libmm-glib/mm-helper-types.h
+++ b/libmm-glib/mm-helper-types.h
@@ -21,6 +21,7 @@
*/
#include <ModemManager.h>
+#include <glib.h>
#if !defined (__LIBMM_GLIB_H_INSIDE__) && !defined (LIBMM_GLIB_COMPILATION)
#error "Only <libmm-glib.h> can be included directly."
@@ -41,4 +42,19 @@ typedef struct _MMModemModeCombination {
MMModemMode preferred;
} MMModemModeCombination;
+/**
+ * MMModemPortInfo:
+ * @name: Name of the port.
+ * @type: A #MMModemPortType value.
+ *
+ * Information of a given port.
+ */
+typedef struct _MMModemPortInfo {
+ gchar *name;
+ MMModemPortType type;
+} MMModemPortInfo;
+
+void mm_modem_port_info_array_free (MMModemPortInfo *array,
+ guint array_size);
+
#endif /* _MM_HELPER_TYPES_H_ */
diff --git a/libmm-glib/mm-manager.c b/libmm-glib/mm-manager.c
index efea9b0..81c6e4f 100644
--- a/libmm-glib/mm-manager.c
+++ b/libmm-glib/mm-manager.c
@@ -71,11 +71,11 @@ get_proxy_type (GDBusObjectManagerClient *manager,
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Location", GSIZE_TO_POINTER (MM_TYPE_MODEM_LOCATION));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Time", GSIZE_TO_POINTER (MM_TYPE_MODEM_TIME));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Firmware", GSIZE_TO_POINTER (MM_TYPE_MODEM_FIRMWARE));
- g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Contacts", GSIZE_TO_POINTER (MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.ModemCdma", GSIZE_TO_POINTER (MM_TYPE_MODEM_CDMA));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Modem3gpp", GSIZE_TO_POINTER (MM_TYPE_MODEM_3GPP));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd", GSIZE_TO_POINTER (MM_TYPE_MODEM_3GPP_USSD));
g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Simple", GSIZE_TO_POINTER (MM_TYPE_MODEM_SIMPLE));
+ /* g_hash_table_insert (lookup_hash, "org.freedesktop.ModemManager1.Modem.Contacts", GSIZE_TO_POINTER (MM_GDBUS_TYPE_MODEM_CONTACTS_PROXY)); */
g_once_init_leave (&once_init_value, 1);
}
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c
index 95685e6..410b559 100644
--- a/libmm-glib/mm-modem.c
+++ b/libmm-glib/mm-modem.c
@@ -44,6 +44,11 @@
G_DEFINE_TYPE (MMModem, mm_modem, MM_GDBUS_TYPE_MODEM_PROXY)
struct _MMModemPrivate {
+ /* Ports */
+ GMutex ports_mutex;
+ guint ports_id;
+ GArray *ports;
+
/* UnlockRetries */
GMutex unlock_retries_mutex;
guint unlock_retries_id;
@@ -683,6 +688,124 @@ mm_modem_dup_primary_port (MMModem *self)
/*****************************************************************************/
+static void
+ports_updated (MMModem *self,
+ GParamSpec *pspec)
+{
+ g_mutex_lock (&self->priv->ports_mutex);
+ {
+ GVariant *dictionary;
+
+ if (self->priv->ports)
+ g_array_unref (self->priv->ports);
+
+ dictionary = mm_gdbus_modem_get_ports (MM_GDBUS_MODEM (self));
+ self->priv->ports = (dictionary ?
+ mm_common_ports_variant_to_garray (dictionary) :
+ NULL);
+ }
+ g_mutex_unlock (&self->priv->ports_mutex);
+}
+
+static gboolean
+ensure_internal_ports (MMModem *self,
+ MMModemPortInfo **dup_ports,
+ guint *dup_ports_n)
+{
+ gboolean ret;
+
+ g_mutex_lock (&self->priv->ports_mutex);
+ {
+ /* If this is the first time ever asking for the array, setup the
+ * update listener and the initial array, if any. */
+ if (!self->priv->ports_id) {
+ GVariant *dictionary;
+
+ dictionary = mm_gdbus_modem_dup_ports (MM_GDBUS_MODEM (self));
+ if (dictionary) {
+ self->priv->ports = mm_common_ports_variant_to_garray (dictionary);
+ g_variant_unref (dictionary);
+ }
+
+ /* No need to clear this signal connection when freeing self */
+ self->priv->ports_id =
+ g_signal_connect (self,
+ "notify::ports",
+ G_CALLBACK (ports_updated),
+ NULL);
+ }
+
+ if (!self->priv->ports)
+ ret = FALSE;
+ else {
+ ret = TRUE;
+
+ if (dup_ports && dup_ports_n) {
+ *dup_ports_n = self->priv->ports->len;
+ if (self->priv->ports->len > 0) {
+ *dup_ports = g_malloc (sizeof (MMModemPortInfo) * self->priv->ports->len);
+ memcpy (*dup_ports, self->priv->ports->data, sizeof (MMModemPortInfo) * self->priv->ports->len);
+ } else
+ *dup_ports = NULL;
+ }
+ }
+ }
+ g_mutex_unlock (&self->priv->ports_mutex);
+
+ return ret;
+}
+
+/**
+ * mm_modem_peek_current_ports:
+ * @self: A #MMModem.
+ * @ports: (out) (array length=n_ports): Return location for the array of #MMModemPortInfo values. Do not free the returned value, it is owned by @self.
+ * @n_ports: (out): Return location for the number of values in @ports.
+ *
+ * Gets the list of ports in the modem.
+ *
+ * Returns: %TRUE if @ports and @n_ports are set, %FALSE otherwise.
+ */
+gboolean
+mm_modem_peek_ports (MMModem *self,
+ const MMModemPortInfo **ports,
+ guint *n_ports)
+{
+ g_return_val_if_fail (MM_IS_MODEM (self), FALSE);
+ g_return_val_if_fail (ports != NULL, FALSE);
+ g_return_val_if_fail (n_ports != NULL, FALSE);
+
+ if (!ensure_internal_ports (self, NULL, NULL))
+ return FALSE;
+
+ *n_ports = self->priv->ports->len;
+ *ports = (MMModemPortInfo *)self->priv->ports->data;
+ return TRUE;
+}
+
+/**
+ * mm_modem_get_ports:
+ * @self: A #MMModem.
+ * @ports: (out) (array length=n_ports): Return location for the array of #MMModemPortInfo values. The returned array should be freed with mm_modem_port_info_array_free() when no longer needed.
+ * @n_ports: (out): Return location for the number of values in @ports.
+ *
+ * Gets the list of ports in the modem.
+ *
+ * Returns: %TRUE if @ports and @n_ports are set, %FALSE otherwise.
+ */
+gboolean
+mm_modem_get_ports (MMModem *self,
+ MMModemPortInfo **ports,
+ guint *n_ports)
+{
+ g_return_val_if_fail (MM_IS_MODEM (self), FALSE);
+ g_return_val_if_fail (ports != NULL, FALSE);
+ g_return_val_if_fail (n_ports != NULL, FALSE);
+
+ return ensure_internal_ports (self, ports, n_ports);
+}
+
+/*****************************************************************************/
+
/**
* mm_modem_get_equipment_identifier:
* @self: A #MMModem.
diff --git a/libmm-glib/mm-modem.h b/libmm-glib/mm-modem.h
index a2ece5a..8fb1faf 100644
--- a/libmm-glib/mm-modem.h
+++ b/libmm-glib/mm-modem.h
@@ -111,6 +111,13 @@ gchar *mm_modem_dup_plugin (MMModem *self);
const gchar *mm_modem_get_primary_port (MMModem *self);
gchar *mm_modem_dup_primary_port (MMModem *self);
+gboolean mm_modem_peek_ports (MMModem *self,
+ const MMModemPortInfo **ports,
+ guint *n_ports);
+gboolean mm_modem_get_ports (MMModem *self,
+ MMModemPortInfo **ports,
+ guint *n_ports);
+
const gchar *mm_modem_get_equipment_identifier (MMModem *self);
gchar *mm_modem_dup_equipment_identifier (MMModem *self);
diff --git a/libmm-glib/mm-sms-properties.c b/libmm-glib/mm-sms-properties.c
index d6a7416..bac363a 100644
--- a/libmm-glib/mm-sms-properties.c
+++ b/libmm-glib/mm-sms-properties.c
@@ -181,7 +181,7 @@ mm_sms_properties_peek_data_bytearray (MMSmsProperties *self)
*
* Gets the message data.
*
- * Returns: (transfer none): A #GByteArray with the message data, or %NULL if it doesn't contain any (e.g. contains text instead). The returned value should be freed with g_byte_array_unref().
+ * Returns: (transfer full): A #GByteArray with the message data, or %NULL if it doesn't contain any (e.g. contains text instead). The returned value should be freed with g_byte_array_unref().
*/
GByteArray *
mm_sms_properties_get_data_bytearray (MMSmsProperties *self)
@@ -637,7 +637,7 @@ consume_variant (MMSmsProperties *properties,
properties,
g_variant_get_uint32 (val));
} else if (type != MM_SMS_VALIDITY_TYPE_UNKNOWN)
- g_warning ("SMS validity type '%s' not supported yet",
+ g_warning ("SMS validity type '%s' not supported yet",
mm_sms_validity_type_get_string (type));
g_variant_unref (val);
} else if (g_str_equal (key, PROPERTY_CLASS))
diff --git a/libmm-glib/tests/Makefile.am b/libmm-glib/tests/Makefile.am
index 92c77d8..be93d4c 100644
--- a/libmm-glib/tests/Makefile.am
+++ b/libmm-glib/tests/Makefile.am
@@ -1,6 +1,7 @@
+include $(top_srcdir)/gtester.make
-noinst_PROGRAMS = \
- test-common-helpers
+noinst_PROGRAMS = test-common-helpers
+TEST_PROGS += $(noinst_PROGRAMS)
test_common_helpers_SOURCES = \
test-common-helpers.c
@@ -19,10 +20,3 @@ test_common_helpers_CPPFLAGS = \
test_common_helpers_LDADD = \
$(top_builddir)/libmm-glib/libmm-glib.la \
$(MM_LIBS)
-
-if WITH_TESTS
-
-check-local: test-common-helpers
- $(abs_builddir)/test-common-helpers
-
-endif
diff --git a/libmm-glib/tests/Makefile.in b/libmm-glib/tests/Makefile.in
index 58b3e97..2d63a84 100644
--- a/libmm-glib/tests/Makefile.in
+++ b/libmm-glib/tests/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.13.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
@@ -78,10 +78,10 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
+DIST_COMMON = $(top_srcdir)/gtester.make $(srcdir)/Makefile.in \
+ $(srcdir)/Makefile.am $(top_srcdir)/depcomp
noinst_PROGRAMS = test-common-helpers$(EXEEXT)
subdir = libmm-glib/tests
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(top_srcdir)/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/compiler_warnings.m4 \
$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
@@ -180,8 +180,6 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -205,7 +203,6 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_MKENUMS = @GLIB_MKENUMS@
-GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
@@ -222,7 +219,6 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
@@ -254,14 +250,20 @@ MANIFEST_TOOL = @MANIFEST_TOOL@
MBIM_CFLAGS = @MBIM_CFLAGS@
MBIM_LIBS = @MBIM_LIBS@
MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
MMCLI_CFLAGS = @MMCLI_CFLAGS@
MMCLI_LIBS = @MMCLI_LIBS@
MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
-MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
@@ -280,13 +282,9 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POFILES = @POFILES@
POLKIT_CFLAGS = @POLKIT_CFLAGS@
POLKIT_LIBS = @POLKIT_LIBS@
POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-PPPD_PLUGIN_DIR = @PPPD_PLUGIN_DIR@
QMI_CFLAGS = @QMI_CFLAGS@
QMI_LIBS = @QMI_LIBS@
RANLIB = @RANLIB@
@@ -355,6 +353,12 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST =
+TEST_PROGS = $(noinst_PROGRAMS)
test_common_helpers_SOURCES = \
test-common-helpers.c
@@ -377,7 +381,7 @@ all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -398,6 +402,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
+$(top_srcdir)/gtester.make:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -555,7 +560,6 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
-@WITH_TESTS_FALSE@check-local:
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
@@ -679,8 +683,89 @@ uninstall-am:
tags tags-am uninstall uninstall-am
-@WITH_TESTS_TRUE@check-local: test-common-helpers
-@WITH_TESTS_TRUE@ $(abs_builddir)/test-common-helpers
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+.PHONY: lcov genlcov lcov-clean
+# use recursive makes in order to ignore errors during check
+lcov:
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) genlcov
+
+# we have to massage the lcov.info file slightly to hide the effect of libtool
+# placing the objects files in the .libs/ directory separate from the *.c
+# we also have to delete tests/.libs/libmoduletestplugin_*.gcda
+genlcov:
+ rm -f $(top_builddir)/tests/.libs/libmoduletestplugin_*.gcda
+ $(LTP) --directory $(top_builddir) --capture --output-file glib-lcov.info --test-name GLIB_PERF --no-checksum --compat-libtool
+ LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory glib-lcov --title "GLib Code Coverage" --legend --show-details glib-lcov.info
+ @echo "file://$(abs_top_builddir)/glib-lcov/index.html"
+
+lcov-clean:
+ -$(LTP) --directory $(top_builddir) -z
+ -rm -rf glib-lcov.info glib-lcov
+ -find -name '*.gcda' -print | xargs rm
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.