Commit Graph
57 Commits
Author SHA1 Message Date
Aleksander Morgado 1c078531a0 build: use AX_IS_RELEASE() and AX_COMPILER_FLAGS()
The autoconf macros AX_COMPILER_FLAGS_{CFLAGS|GIR|LDFLAGS} test
for compiler and linker support of various flags, and add the flags to
the generated output.

If the command-line option '--enable-compile-warnings' is specified to
'configure', a number of additional warning options is also added to the
output. This is the default.

This update requires the presence of the GNU autoconf-archive in the
system.
2020-01-30 11:59:14 +01:00
Aleksander Morgado 8e342cf120 api,firmware: new UpdateSettings property 2019-01-03 18:53:52 +00:00
Dan Williams 627303a748 api/libmm-glib/cli: add AudioPort and AudioFormat properties to the Call object 2018-10-16 17:09:21 +00:00
Ben Chan 28e64d0018 libmm-glib: add MMPco for handling raw PCO data 2018-08-18 13:29:46 -07:00
Ben Chan 3d800c2f49 compat: add compatibility definitions for old MM_MODEM_BAND_EUTRAN_* values
Those Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_* were replaced
with 1, 2, 3, ..., etc. This patch adds a compatibility header,
ModemManager-compat.h, to alias the old MM_MODEM_BAND_EUTRAN_* values to
the new values.
2017-06-28 18:21:25 +02:00
Aleksander Morgado c4a584416a core: allow disabling auto-scan and notifying ports one by one via API
This commit enables a new core ModemManager daemon option, so that automatic
detection of available modems is totally disabled: '--no-auto-scan'. Note that
this option also replaces the previously used '--test-no-auto-scan' option,
which was only used during tests.

Along with the new ModemManager option, a new ReportKernelEvent() method in
the API is defined, which allows notifying the daemon of which interfaces it
should be accessing, as well as the main details of each interface. The only
mandatory parameters in the new method are 'action' (add/remove), 'name' (the
name of the interface) and 'subsystem' (the subsystem of the interface).

The mmcli tool has support for using the new api method via several new options:

 * The '--report-kernel-event' option allows specifying device ports one by
   one, and is a direct mapping of the ReportKernelEvent() method:
     $ sudo mmcli --report-kernel-event="action=add,name=wwan0,subsystem=net"
     $ sudo mmcli --report-kernel-event="action=add,name=cdc-wdm0,subsystem=usbmisc"

 * The '--report-kernel-event-auto-scan' option uses udev monitoring to notify
   events automatically to the daemon. This allows to operate in a way
   equivalent to the default daemon operation (with implicit auto-scan).

Worth noting that the ReportKernelEvent() method is only usable when
'--no-auto-scan' is explicitly used in the daemon. An error will be reported if
the method is tried while standard udev monitoring is enabled (implicit if
auto scan isn't explicitly disabled in the daemon).

If mmcli is going to be used only to report 'real time' events, an optional
'--initial-kernel-events=[PATH]' may be given in the ModemManager call to
automatically process a set of port kernel events one by one on boot. The file
may e.g. contain:
  action=add,name=wwan0,subsystem=net
  action=add,name=cdc-wdm0,subsystem=usbmisc
2016-09-29 15:43:05 +02:00
Aleksander Morgado eeb9e2bdcc build: end all multiline list variables with $(NULL)
So that appending a new item in the list only inserts one new line (i.e. the
last $(NULL) is the last item always).
2016-03-15 19:15:25 +01:00
Aleksander Morgado 27c6f15873 libmm-glib: new helper object to handle bearer stats
The new MMBearerStats object provides a simple API to interact with the new
dictionary containing the bearer connection stats.
2015-12-07 14:20:54 +01:00
Riccardo Vangelisti 0bf4ad6b66 libmm-glib: added support for Modem.Voice and Call interfaces 2015-08-02 10:39:12 +02:00
Jakub Sitnicki 7552030ef9 build: add code coverage support
Build all targets, except for CLI tools (mmcli, uml290), with special
flags needed for collecting code coverage information when the build has
been configured with --enable-code-coverage.

Three new targets are available in the top build directory:

 - `check-code-coverage' runs the test suite and generates a code
   coverage report,

 - `code-coverage-capture' generates a code coverage report from already
   collected data, which can come in handy when one wants to see code
   paths touched by a particular test,

 - `code-coverage-clean' removes the collected coverage data and the
   generated reports.
2015-01-11 19:32:43 +01:00
Aleksander Morgado 8ab38ae968 libmm-glib: support for the 'OMA' interface 2013-09-09 10:15:18 +02:00
Aleksander Morgado ca8a414668 libmm-glib: distribute the mm-modem-signal.h header 2013-08-21 12:34:54 +02:00
Aleksander Morgado 0502646f9f api,introspection: use per-technology dictionaries in the 'Signal' interface 2013-08-21 12:34:51 +02:00
Aleksander Morgado fcdbefa519 libmm-glib: handle the new 'Signal' interface 2013-08-21 12:33:09 +02:00
Colin Walters 33a6cb2fa5 build: An even cleaner srcdir != builddir fix
Suggested-by: Dan Winship <danw@gnome.org>
2013-08-14 12:27:27 -05:00
Colin Walters 54fa505e67 build: Various srcdir != builddir fixes for gnome-ostree
The gnome-ostree build system does srcdir != builddir from git, not
quite like autotools does.
2013-08-14 12:05:21 -05:00
Dan Williams 65f633ab96 build: fix distcheck after Introspection changes 2013-08-14 10:37:45 -05:00
Christian Persch b8838b8882 libmm-glib: Generate GObject introspection information
Bug #705641.
2013-08-14 13:30:35 +02:00
Dan Williams 1d3ec932d5 build: install mm-cdma-manual-activation-properties.h to includes dir 2013-08-08 09:45:16 -05:00
Aleksander Morgado c0d4f3157a libmm-glib: new 'MMCdmaManualActivationProperties' helper object 2013-08-08 09:50:04 +02:00
Aleksander Morgado 3206e95663 api,introspection: new 'Ports' property in the Modem interface
We will expose a new 'Ports' property listing all ports currently known by a
given modem. Ports which are not used but are detected as being part of the
modem will be listed with an 'unknown' port type.

This change uses the new 'MMModemPortType' enum and the new 'MMModemPortInfo'
helper struct to handle these values in libmm-glib. The already available
'MMPortType' enum hasn't been re-used for the interface because it contains
values that we don't need (e.g. IGNORED).

The port list is now also included in the modem information command of mmcli:

$ sudo mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id '97b7b99e3e2bea103880545b619fb05a3cc81b26')
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4'
           |        drivers: 'qcserial, qmi_wwan'
           |         plugin: 'Gobi'
           |   primary port: 'cdc-wdm0'
           |          ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0 (qmi), wwp0s29u1u4 (net)'

https://bugzilla.gnome.org/show_bug.cgi?id=702678
2013-06-24 19:44:57 +02:00
Aleksander Morgado 2139e394c2 build: setup libtool versioning for libmm-glib
We'll use it once we've released 0.8.
2013-06-13 11:11:02 +02:00
Aleksander Morgado 45ceba7692 api,introspection: 'SupportedModes' is now a list of possible combinations
Instead of just a mask of MMModemMode values, we now provide a list of the
allowed and preferred mode combinations supported by the modem. E.g.:

$> sudo mmcli -m 0
  -------------------------
  Modes    |      supported: 'allowed: 2g; preferred: none
           |                  allowed: 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: none
           |                  allowed: 2g, 3g; preferred: 2g
           |                  allowed: 2g, 3g; preferred: 3g
           |                  allowed: 4g; preferred: none
           |                  allowed: 2g, 3g, 4g; preferred: none'
2013-06-05 19:15:14 +02:00
Aleksander Morgado d9241d08db libmm-glib: implement handling the CDMA BS location source 2012-11-02 08:23:11 +01:00
Aleksander Morgado 72068598e5 libmm-glib: new header file for common stuff in location reporting 2012-11-02 08:23:10 +01:00
Aleksander Morgado 316b9fa001 libmm-glib,build: remove unneeded rule 2012-10-08 14:09:35 +02:00
Aleksander Morgado 239c56cf7f libmm-glib: don't install the common helpers header
And make it only available for internal ModemManager compilation.
2012-10-04 10:17:13 +02:00
Aleksander Morgado 433fdea6d4 libmm-glib: only allow including `libmm-glib.h' directly
Unless when compiling libmm-glib itself, of course.
2012-10-04 10:17:12 +02:00
Aleksander Morgado b6d628b3a1 build: merge libmm-common into libmm-glib
It's pointless to have libmm-common around, just merge it into libmm-glib and
make ModemManager depend on libmm-glib directly. At the end, the non-common
stuff in libmm-glib is really minimal.
2012-10-04 10:17:05 +02:00
Aleksander Morgado 715a775949 libmm-glib,firmware: new `MMModemFirmware' type to handle the Firmware interface 2012-10-04 10:17:05 +02:00
Aleksander Morgado dc8d9dfdb9 build: fix definitions of cflags/libs 2012-08-29 17:14:47 +02:00
Aleksander Morgado 6bf277e794 libmm-glib: install missing headers 2012-05-24 09:59:52 +02:00
Aleksander Morgado a3e6faeaca libmm-glib: implement Time interface specific actions 2012-03-16 14:53:22 +01:00
Aleksander Morgado cd63df938f libmm-common: `MMSimpleStatus' won't be considered internal any more
Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed the
`MMSimpleStatusProperties' provided in libmm-glib. We'll just use the original
one from libmm-common always.
2012-03-16 14:53:20 +01:00
Aleksander Morgado bb352d5da3 libmm-common: `MMLocation3gpp' won't be considered internal any more
Renamed `MMCommonLocation3gpp' to `MMLocation3gpp', and removed the
`MMModemLocation3gpp' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado 1385eb394f libmm-common: `MMSimpleConnectProperties' won't be considered internal any more
Renamed `MMCommonConnectProperties' to `MMSimpleConnectProperties', and removed
the `MMModemSimpleConnectProperties' provided in libmm-glib. We'll just use the
original one from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado d306bb082f libmm-common: `MMBearerProperties' won't be considered internal any more
Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the
`MMBearerProperties' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado 323df60ed9 libmm-common: `MMBearerIpConfig' won't be considered internal any more
Renamed `MMCommonBearerIpConfig' to `MMBearerIpConfig', and removed the
`MMBearerIpConfig' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado ef9fb0bfac libmm-common: `MMSmsProperties' won't be considered internal any more
Renamed `MMCommonSmsProperties' to `MMSmsProperties', and removed the
`MMSmsProperties' provided in libmm-glib. We'll just use the original one
from libmm-common always.
2012-03-16 14:53:19 +01:00
Aleksander Morgado e82db67646 libmm-glib: implement support for the Messaging interface 2012-03-15 14:15:01 +01:00
Aleksander Morgado bfbcf3cfaf libmm-glib: new object to handle SMS objects 2012-03-15 14:15:01 +01:00
Aleksander Morgado d30c101e53 libmm-glib: new common object to handle SMS properties
To be used when requesting to create new SMS.
2012-03-15 14:15:01 +01:00
Aleksander Morgado a1b199d903 libmm-glib: handle the 3GPP/USSD interface 2012-03-15 14:14:57 +01:00
Aleksander Morgado 2a5e9b46b6 libmm-glib: use the common IP config object from libmm-common 2012-03-15 14:14:54 +01:00
Aleksander Morgado b05430cb28 libmm-glib: include support for the Location interface
We hide the location signaling; not sure if we should even support it.
2012-03-15 14:14:52 +01:00
Aleksander Morgado a71393f227 libmm-glib: handle the CDMA interface 2012-03-15 14:14:48 +01:00
Aleksander Morgado f58a23c9c2 libmm-glib: new interface to handle simple status properties 2012-03-15 14:14:39 +01:00
Aleksander Morgado 0edf403734 build: fix libmm-glib library headers
Remove headers from libmm-common, and include all public headers.
2012-03-15 14:14:39 +01:00
Aleksander Morgado fe7f71b677 libmm-common,libmm-glib: new object to handle bearer creation properties 2012-03-15 14:14:38 +01:00
Aleksander Morgado dcecb94631 libmm-common,libmm-glib: new object to handle properties in simple Connect()
Instead of using type unsafe properties passed to the connect() call, we build
a new object which does the handling of the properties to be passed.
2012-03-15 14:14:37 +01:00