diff --git a/.gitignore b/.gitignore index 9efc0cf3..066c0c06 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ libtool org.freedesktop.ModemManager.service ModemManager.pc src/modem-manager +docs/spec.html diff --git a/Makefile.am b/Makefile.am index 9d96d08f..a7b9a26e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,25 @@ +if WITH_DOCS + +all: + +XSLTPROC = xsltproc --xinclude --nonet + +XMLS = $(wildcard introspection/mm-*.xml) +# Figure out if we need ASYNC_INTROSPECT and add it later + +GENERATED_FILES = \ + docs/spec.html + +docs/spec.html: $(XMLS) introspection/all.xml doc-generator.xsl + @install -d docs + $(XSLTPROC) doc-generator.xsl introspection/all.xml > $@ + +all: $(GENERATED_FILES) + +clean: + rm -f $(GENERATED_FILES) +endif + SUBDIRS = src plugins introspection test pkgconfigdir = $(libdir)/pkgconfig @@ -26,5 +48,6 @@ DISTCLEANFILES = \ EXTRA_DIST = \ ModemManager.pc.in \ + doc-generator.xsl \ $(dbusservice_DATA) \ $(dbusactivation_in_files) diff --git a/configure.in b/configure.in index 498457cc..600dfb0f 100644 --- a/configure.in +++ b/configure.in @@ -14,6 +14,15 @@ AC_PROG_LIBTOOL PKG_CHECK_MODULES(MM, dbus-glib-1 >= 0.75 glib-2.0 >= 2.14 gmodule-2.0 gobject-2.0 hal) +AC_ARG_WITH(docs, AC_HELP_STRING([--with-docs], [Build ModemManager documentation])) +AM_CONDITIONAL(WITH_DOCS, test "x$with_docs" = "xyes") +case $with_docs in + yes) ;; + *) + with_docs=no + ;; +esac + AC_CONFIG_FILES([ Makefile src/Makefile diff --git a/doc-generator.xsl b/doc-generator.xsl new file mode 100644 index 00000000..bcc88e83 --- /dev/null +++ b/doc-generator.xsl @@ -0,0 +1,691 @@ + + + + + + + + + + + + + + + + +

Errors:

+ +
+ + +

Generic types:

+ +
+ + + +

Simple types:

+ +
+ + +

Enumerated types:

+ +
+ + +

Sets of flags:

+ +
+ + +

Structure types:

+ +
+ + +

Mapping types:

+ +
+ + +

Types defined elsewhere:

+
+
+
+ + +

+ +
+ + +
+ +
+
+ +
+ +
+
+ + + + + +

+ + +

+ This interface is + and is likely to cause havoc to your API/ABI if bindings are generated. + Don't include it in libraries that care about compatibility. +

+
+ + +

Implementations of this interface must also implement:

+
    + +
  • +
    +
+
+ + + + + +

Methods:

+ +
+ +

Interface has no methods.

+
+
+ + + +

Signals:

+ +
+ +

Interface has no signals.

+
+
+ + + +

Properties:

+
+ +
+
+ +

Interface has no properties.

+
+
+ + + +
+ + +

+ + + +

+ +
+ + + + + + + + + + + +
=
+ + +
+
+ +
(Undocumented)
+
+
+
+
+
+ + +

+ + + +

+ +
+ + + + + + + + + + + +
=
+ + +
+
+ +
(Undocumented)
+
+
+
+
+
+ + +
+ + - + + - + () + +
+
+ +
+
+ + +
+

+ + + - a{ + + + : + + → + + } +

+
+ +
+
+

Members

+
+ +
+
+
+
+ + + + + - + + + +
+

+ + + - +

+
+ +
+
+
+ + +
+
+ + + - +
+
Defined by:
+
+
+ + + - ( + + , + ) + + + + - a{ + + → + } + + + +
+

+ + + - ( + + + : + + , + + ) +

+
+ +
+ + +

In bindings that need a separate name, arrays of + should be called + .

+
+ +

Arrays of don't generally + make sense.

+
+
+
+

Members

+
+ +
+
+
+
+ + +
+

+ + + ( + + : + , + + ) → + + + + + , + + + nothing + +

+
+ +
+ + +
+

Parameters

+
+ +
+
+
+ + +
+

Returns

+
+ +
+
+
+ + +
+

Possible errors

+
+ +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + ERR: Unable to find type ' + + ' + + + + () + + + + +
+ - + + +
+
+ + + + + + (undocumented) + + +
+
+ + +
+ - + + +
+
+ +
+
+ + +
+ + - + + + +
+
+ +
+
+ + +
+ +
+
+ + + + + + + (generic description) + + + (Undocumented.) + + +
+
+ + +
+

+ + + ( + + : + , + + )

+
+ +
+ + +
+

Parameters

+
+ +
+
+
+
+
+ + + + + + + + <xsl:value-of select="tp:title"/> + <xsl:if test="tp:version"> + <xsl:text> version </xsl:text> + <xsl:value-of select="tp:version"/> + </xsl:if> + + + + +

+ +

+ +

Version

+
+ + + + +

Interfaces

+
    + +
  • +
    +
+ + + + + +

Index

+

Index of interfaces

+
    + +
  • +
    +
+

Index of types

+
    + + +
  • + + + + + + +
  • +
    +
+ + +
+ +
+ + diff --git a/docs/plugins.txt b/docs/plugins.txt new file mode 100644 index 00000000..e69de29b diff --git a/introspection/all.xml b/introspection/all.xml new file mode 100644 index 00000000..710c47c8 --- /dev/null +++ b/introspection/all.xml @@ -0,0 +1,27 @@ + + + ModemManager D-Bus Interface Specification + 0.1 + Copyright (C) 2008 Novell, Inc. + + +

This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version.

+ +

This program 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 + 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.

+
+ + + +
diff --git a/introspection/mm-manager.xml b/introspection/mm-manager.xml index 55912905..bdeac01b 100644 --- a/introspection/mm-manager.xml +++ b/introspection/mm-manager.xml @@ -1,18 +1,39 @@ - + + + Get the list of modem devices. + - + + + List of object paths of modem devices known to the system. + + - + + A device was added to the system. + + + + The object path of the newly added device. + + - + + A device was removed from the system, and is no longer available. + + + + The object path of the device that was just removed. + + diff --git a/introspection/mm-modem.xml b/introspection/mm-modem.xml index 44bb72df..a1f8250d 100644 --- a/introspection/mm-modem.xml +++ b/introspection/mm-modem.xml @@ -1,85 +1,301 @@ - + + + Enable the device. Initializes the modem and checks whether PIN (or PUK) is needed. + - + + + True to enable the device, False to disable. + + + + Set the PIN (or PUK) to unlock the SIM card. + - + + The PIN code. + + + Register the device to network. + - + + + The network ID to register. An empty string can be used to register to the home network. + + + + Dial in. + - - + + + The number to use for dialing. + + + + + The APN to use. Can be an empty string to use the default APN from the SIM card. + + + + Disconnect modem. + + + Scan for available networks. + - + + + Found networks. It's an array of dictionaries (strings for keys and values), the list of known keys is the following: status, operator-long, operator-short, operator-num. + + + + Get the current signal quality. + - + + + Signal quality (percent). + + + + Set the band. + - + + + The new band. + + + + Get the current band. + - + + + The current band. + + + + Set the network mode. + - + + + The new mode. + + + + Get the network mode. + - + + + The current network mode. + + + + + The serial device which can be used to start pppd. + + - - - + + + The driver handling the device. + + + + + + The modem type. + + - + + The signal quality changed. + + + + The new quality in percent, 0..100. + + - + + The network mode changed. + + + + The new quality in percent, 0..100. + + + + + + A GSM device. + + + + + A CDMA device. + + + + + + + + Any network mode can be used. + + + + + GPRS + + + + + EDGE + + + + + 3G + + + + + HSDPA + + + + + Prefer 2G (GPRS or EDGE). + + + + + Prefer 3G (3G or HSDPA). + + + + + + + + Any band can be used. + + + + + EGSM (900 MHz). + + + + + DCS (1800 MHz). + + + + + PCS (1900 MHz). + + + + + G850 (850 MHz). + + + + + U2100 (WCDMA 2100 MHz). + + + + + U1700 (WCDMA 3GPP UMTS1800 MHz). + + + + + 17IV (WCDMA 3GPP AWS 1700/2100 MHz). + + + + + U800 (WCDMA 3GPP UMTS800 MHz). + + + + + U850 (WCDMA 3GPP UMTS850 MHz). + + + + + U900 (WCDMA 3GPP UMTS900 MHz). + + + + + U17IX (WCDMA 3GPP UMTS MHz). + + + +