aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/api/ModemManager-dbus-reference.xml
blob: c84e4598d5518bac1c18a39cc504afb2d8b4c84d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?xml version="1.0"?>
<!DOCTYPE part PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<part id="ref-dbus" xmlns:xi="http://www.w3.org/2003/XInclude">
  <title>D-Bus Reference</title>

  <chapter id="ref-dbus-bus-name">
    <title>The <literal>org.freedesktop.ModemManager1</literal> bus name</title>
    <para>
      The D-Bus name <literal>org.freedesktop.ModemManager1</literal>
      on the system bus is used by the ModemManager daemon.
    </para>
    <para>
      If this daemon isn't running, it will be started if D-Bus messages are
      sent to the name.
    </para>
  </chapter>

  <chapter id="ref-dbus-standard-interfaces">
    <title>Standard interfaces</title>
    <para>
      Please refer to the
      <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">
        DBus specification at <literal>freedesktop.org</literal>
      </ulink> for more information on how to use these standard interfaces.
    </para>
    <section id="ref-dbus-standard-interfaces-properties">
      <title>org.freedesktop.DBus.Properties</title>
      <para>
        All objects (<link linkend="ref-dbus-object-manager">Manager</link>,
        <link linkend="ref-dbus-object-modem">Modems</link>,
        <link linkend="ref-dbus-object-bearer">Bearers</link>,
        <link linkend="ref-dbus-object-sim">SIMs</link>,
        <link linkend="ref-dbus-object-sms">SMSs</link>) exported at the
        <link linkend="ref-dbus-bus-name"><literal>org.freedesktop.ModemManager1</literal></link>
        bus name implement the standard
        <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties">
          <literal>org.freedesktop.DBus.Properties</literal>
        </ulink> interface. Objects implementing this interface provide a
        common way to query for property values and also a generic signal to
        get notified about changes in those properties.
      </para>
    </section>
    <section id="ref-dbus-standard-interfaces-introspectables">
      <title>org.freedesktop.DBus.Introspectable</title>
      <para>
        All objects (<link linkend="ref-dbus-object-manager">Manager</link>,
        <link linkend="ref-dbus-object-modem">Modems</link>,
        <link linkend="ref-dbus-object-bearer">Bearers</link>,
        <link linkend="ref-dbus-object-sim">SIMs</link>,
        <link linkend="ref-dbus-object-sms">SMSs</link>) exported at the
        <link linkend="ref-dbus-bus-name"><literal>org.freedesktop.ModemManager1</literal></link>
        bus name implement the standard
        <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-introspectable">
          <literal>org.freedesktop.DBus.Introspectable</literal>
        </ulink> interface. Objects implementing this interface will provide an
        XML-based description of the object and its interfaces.
      </para>
    </section>
    <section id="ref-dbus-standard-interfaces-objectmanager">
      <title>org.freedesktop.DBus.ObjectManager</title>
      <para>
        The <link linkend="ref-dbus-object-manager">Manager</link> object
        exported at the
        <link linkend="ref-dbus-bus-name"><literal>org.freedesktop.ModemManager1</literal></link>
        bus name implements the standard
        <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager">
          <literal>org.freedesktop.DBus.ObjectManager</literal>
        </ulink> interface. This interface, included in rev. 0.17 of the DBus
        specification, allows a generic way to control the addition and removal
        of Modem objects, as well as the addition and removal of interfaces in
        the given objects.
      </para>
    </section>
  </chapter>

  <chapter id="ref-dbus-common-types">
    <title>Common types</title>
    <xi:include href="mm-enums.xml"/>
    <xi:include href="mm-errors.xml"/>
  </chapter>

  <chapter id="ref-dbus-object-manager">
    <title>The <literal>/org/freedesktop/ModemManager1</literal> object</title>
    <para>
      The ModemManager process will export an object at the well-known
      path <literal>/org/freedesktop/ModemManager1</literal>.
    </para>
    <para>
      This object, which implements the standard
      <link linkend="ref-dbus-standard-interfaces-objectmanager"><literal>org.freedesktop.DBus.ObjectManager</literal></link>, is responsible for managing the list of
      <link linkend="ref-dbus-object-modem">Modem</link> objects.
    </para>
    <para>
      This object also controls any process-wide operation, such as the log
      level being used by the daemon.
    </para>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml"/>
  </chapter>

  <chapter id="ref-dbus-object-modem">
    <title>The <literal>/org/freedesktop/ModemManager/Modems</literal> objects</title>
    <para>
      Modem objects are exported in DBus with the following path base:
      <literal>/org/freedesktop/ModemManager1/Modems/#</literal>, where
      <literal>#</literal> indicates a unique unsigned integer which identifies
      the object.
    </para>
    <para>
      The Modem objects will export a generic
      <link linkend="gdbus-org.freedesktop.ModemManager1.Modem">Modem interface</link>
      which includes common features and actions applicable to most modem types.
      This interface, among other actions, allows the management (creation,
      listing, deletion) of
      <link linkend="ref-dbus-object-bearer">Bearer</link> objects which can
      then be used to request the modem to get in connected state.
    </para>
    <para>
      Modem objects will also export the generic
      <link linkend="gdbus-org.freedesktop.ModemManager1.Modem.Simple">Simple interface</link>.
      This interface provides an easy access to the most simple and common
      operations that may be performed with the modem, including connection and
      disconnection. Users of the Simple interface do not need to take care of
      getting the modem registered, and they also don't need to manage the
      creation of bearers themselves. All the logic required to get the modem
      connected or disconnected is handled by the Simple interface.
    </para>
    <para>
      Modems with specific 3GPP and/or CDMA capabilities will export modem type
      specific interfaces, like the
      <link linkend="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</link>
      or the
      <link linkend="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</link>.
    </para>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml"/>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Contacts.xml"/>
  </chapter>

  <chapter id="ref-dbus-object-bearer">
    <title>The <literal>/org/freedesktop/ModemManager/Bearers</literal> objects</title>
    <para>
      Bearer objects are owned and managed by specific
      <link linkend="ref-dbus-object-modem">Modem</link> objects. A single Modem
      may expose one or more Bearer objects, which can then be used to get the
      modem into connected state.
    </para>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml"/>
  </chapter>

  <chapter id="ref-dbus-object-sim">
    <title>The <literal>/org/freedesktop/ModemManager/SIMs</literal> objects</title>
    <para>
      Broadband modems usually need a SIM card to operate. Each
      <link linkend="ref-dbus-object-modem">Modem</link> object will therefore
      expose up to one SIM object, which allows SIM-specific actions such as PIN
      unlocking.
    </para>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml"/>
  </chapter>

  <chapter id="ref-dbus-object-sms">
    <title>The <literal>/org/freedesktop/ModemManager/SMSs</literal> objects</title>
    <para>
      Modems implementing the
      <link linkend="gdbus-org.freedesktop.ModemManager1.Modem.Messaging">Messaging interface</link>
      will export one SMS object for each SMS stored in the device.
    </para>
    <xi:include href="../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml"/>
  </chapter>

</part>