My changes to ModemManager

Lubomir Rintel a703cd2cc4 udev: Don't mark disconnected RFCOMM ttys as candidates 9 vuotta sitten
build-aux ebf7f790a6 build,build-aux: include missing `mm-errors-quarks-template.c' file in dist 11 vuotta sitten
cli 72f4aa75d7 cli,location: allow enabling/disabling A-GPS 9 vuotta sitten
data c8572c8098 polkit: fix Location.Setup() authorization rules 10 vuotta sitten
decode f08c76f00c decode: handle another UsbSnoop URB function 12 vuotta sitten
docs cd5ca169f1 libmm-glib,location: add helpers to get/set the SUPL server address 9 vuotta sitten
examples ae99c452eb examples: add modem watcher example in JS 10 vuotta sitten
include fbeee20d5b introspection,api: add SUPL server configuration in the Location interface 9 vuotta sitten
introspection fbeee20d5b introspection,api: add SUPL server configuration in the Location interface 9 vuotta sitten
libmm-glib cd5ca169f1 libmm-glib,location: add helpers to get/set the SUPL server address 9 vuotta sitten
libqcdm f6b0fd3f7b libqcdm: new 'reset' tester 10 vuotta sitten
libwmc a691eec6ca build: avoid using 'INCLUDES' in Makefile.am 10 vuotta sitten
m4 d42011d6bf build: include vapigen.m4 and introspection.m4 10 vuotta sitten
plugins 50ec0907de zte: blacklist QMI and net interface in the MF60 9 vuotta sitten
po fbb35628d5 po: don't translate test files 10 vuotta sitten
src a703cd2cc4 udev: Don't mark disconnected RFCOMM ttys as candidates 9 vuotta sitten
test f3f499fcec test: remove testers of the old interface 11 vuotta sitten
uml290 30fb4e9da7 wmc: add get functionality to uml290mode 11 vuotta sitten
vapi bfae863296 libmm-glib: Add vala bindings 10 vuotta sitten
vl600 7144b673e2 vl600: update AT com tool and RE notes 11 vuotta sitten
.gitignore f6b0fd3f7b libqcdm: new 'reset' tester 10 vuotta sitten
AUTHORS 8fcfae43e0 AUTHORS: update from git log 9 vuotta sitten
COPYING 36fe2012cc license: update to latest gplv2 text 10 vuotta sitten
COPYING.LIB 22193e2f3a license: add LGPLv2+ license in addition to the GPLv2+ one 10 vuotta sitten
ChangeLog cc31458b18 Initial commit. 16 vuotta sitten
Makefile.am ebff76cfaa examples: add modem watcher example in python 10 vuotta sitten
NEWS a2a7131701 release: bump version to 1.4.0 9 vuotta sitten
README 22193e2f3a license: add LGPLv2+ license in addition to the GPLv2+ one 10 vuotta sitten
TODO 564b3610fd TODO: remove already implemented or no longer applicable items 10 vuotta sitten
autogen.sh add455c7e5 build: fix passing arguments to configure from autogen.sh (bgo #694157) 11 vuotta sitten
configure.ac 8718ed53be build: remove --with-newest-qmi-commands configure option 9 vuotta sitten
gtester.make 2ad39277d2 build: setup gtester based tests 11 vuotta sitten

README

ModemManager.
ModemManager provides a unified high level API for communicating with mobile
broadband modems, regardless of the protocol used to communicate with the
actual device (Generic AT, vendor-specific AT, QCDM, QMI, MBIM...).

Using.
ModemManager is a system daemon and is not meant to be used directly from
the command line. However, since it provides a DBus API, it is possible to use
'dbus-send' commands or the new 'mmcli' command line interface to control it
from the terminal. The devices are queried from udev and automatically updated
based on hardware events, although a manual re-scan can also be requested to
look for RS232 modems.

Implementation.
ModemManager is a DBus system bus activated service (meaning it's started
automatically when a request arrives). It is written in C, using glib and gio.
Several GInterfaces specify different features that the modems support,
including the generic MMIfaceModem3gpp and MMIfaceModemCdma which provice basic
operations for 3GPP (GSM, UMTS, LTE) or CDMA (CDMA1x, EV-DO) modems. If a given
feature is not available in the modem, the specific interface will not be
exported in DBus.

Plugins.
Plugins are loaded on startup, and must implement the MMPlugin interface. It
consists of a couple of methods which tell the daemon whether the plugin
supports a port and to create custom MMBroadbandModem implementations. It most
likely makes sense to derive custom modem implementations from one of the
generic classes and just add (or override) operations which are not standard.
There are multiple fully working plugins in the plugins/ directory that can be
used as an example for writing new plugins. Writing new plugins is highly
encouraged! The plugin API is open for changes, so if you're writing a plugin
and need to add or change some public method, feel free to suggest it!

License.
The ModemManager and mmcli binaries are both GPLv2+.
The libmm-glib library is LGPLv2+.