From afc4b839a31c530d73b91aa2483795f185eb7e52 Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Wed, 5 Feb 2014 08:38:36 +0100 Subject: Imported Upstream version 1.0.0 --- libmm-glib/Makefile.am | 4 + libmm-glib/Makefile.in | 43 +++-- libmm-glib/generated/Makefile.am | 3 - libmm-glib/generated/Makefile.in | 23 +-- libmm-glib/generated/mm-enums-types.h | 16 ++ libmm-glib/generated/mm-gdbus-bearer.h | 2 +- libmm-glib/generated/mm-gdbus-manager.h | 2 +- libmm-glib/generated/mm-gdbus-modem.h | 330 +------------------------------- libmm-glib/generated/mm-gdbus-sim.h | 2 +- libmm-glib/generated/mm-gdbus-sms.h | 2 +- libmm-glib/mm-common-helpers.c | 91 +++++++++ libmm-glib/mm-common-helpers.h | 10 + libmm-glib/mm-firmware-properties.c | 2 - libmm-glib/mm-helper-types.c | 41 ++++ libmm-glib/mm-helper-types.h | 16 ++ libmm-glib/mm-manager.c | 2 +- libmm-glib/mm-modem.c | 123 ++++++++++++ libmm-glib/mm-modem.h | 7 + libmm-glib/mm-sms-properties.c | 4 +- libmm-glib/tests/Makefile.am | 12 +- libmm-glib/tests/Makefile.in | 119 ++++++++++-- 21 files changed, 464 insertions(+), 390 deletions(-) create mode 100644 libmm-glib/mm-helper-types.c (limited to 'libmm-glib') 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); @@ -1423,325 +1429,6 @@ GType mm_gdbus_modem_firmware_skeleton_get_type (void) G_GNUC_CONST; 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 */ @@ -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 @@ -77,6 +77,31 @@ mm_common_build_bands_string (const MMModemBand *bands, return g_string_free (str, FALSE); } +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 + */ + +#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 +#include #if !defined (__LIBMM_GLIB_H_INSIDE__) && !defined (LIBMM_GLIB_COMPILATION) #error "Only 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 ; \ + echo '' >> $@.xml ; \ + echo '' >> $@.xml ; \ + echo ' $(PACKAGE)' >> $@.xml ; \ + echo ' $(VERSION)' >> $@.xml ; \ + echo " $$REVISION" >> $@.xml ; \ + echo '' >> $@.xml ; \ + for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \ + sed '1,1s/^?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \ + done ; \ + echo >> $@.xml ; \ + echo '' >> $@.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. -- cgit v1.2.3