aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/api/html/ref-overview-introduction.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/api/html/ref-overview-introduction.html')
-rw-r--r--docs/reference/api/html/ref-overview-introduction.html38
1 files changed, 21 insertions, 17 deletions
diff --git a/docs/reference/api/html/ref-overview-introduction.html b/docs/reference/api/html/ref-overview-introduction.html
index 540168b..8fbd86a 100644
--- a/docs/reference/api/html/ref-overview-introduction.html
+++ b/docs/reference/api/html/ref-overview-introduction.html
@@ -23,33 +23,37 @@
<div class="titlepage"><div><div><h2 class="title">
<a name="ref-overview-introduction"></a>Introduction</h2></div></div></div>
<p>
- ModemManager provides a unified high level API for communicating with
- (mobile broadband) modems. While the basic commands are standardized,
- the more advanced operations (like signal quality monitoring while
- connected) varies a lot.
+ 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...).
</p>
<p><b>Using. </b>
ModemManager is a system daemon and is not meant to be used directly from
- the command line. However, a command line client (mmcli) is provided, which
- may be used to test the different functionality provided during plugin
- development.
+ 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.
</p>
<p><b>Implementation. </b>
ModemManager is a DBus system bus activated service (meaning it's started
- automatically when a request arrives). It is written in C. The devices are
- queried from udev and automatically updated based on hardware events. There are
- DBus-interface specific GInterfaces, which should be implemented by any device
- specific implementation. There is a generic MMBroadbandModem implementation that
- provides a generic implementation of the most common operations in both GSM and
- CDMA modems.
+ 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.
</p>
<p><b>Plugins. </b>
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 modem 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. Writing
- new plugins is highly encouraged!
+ 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!
</p>
</div>
<div class="footer">