aboutsummaryrefslogtreecommitdiff
path: root/introspection/mm-modem-gsm-network.xml
blob: 7c266818bfaaf66cd00a4f7837f233231a9e1932 (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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
<?xml version="1.0" encoding="UTF-8" ?>

<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.freedesktop.ModemManager.Modem.Gsm.Network">
    <method name="Register">
      <tp:docstring>
	Register the device to network.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_register"/>
      <arg name="network_id" type="s" direction="in">
	<tp:docstring>
	  The network ID to register. An empty string can be used to register to the home network.
	</tp:docstring>
      </arg>
    </method>

    <method name="Scan">
      <tp:docstring>
	Scan for available networks.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_scan"/>
      <arg name="results" type="aa{ss}" direction="out">
	<tp:docstring>
          <p>Found networks. It's an array of dictionaries (strings for both
          keys and values) with each array element describing a mobile network
          found in the scan.  Each dict may include one or more of the following
          keys:</p>
          <ul>
            <li>
              "status": a number representing network availability status as
              defined in 3GPP TS 27.007 section 7.3.  e.g. "0" (unknown), "1"
              (available), "2" (current), or "3" (forbidden).  This key will
              always be present.
            </li>
            <li>
              "operator-long": long-format name of operator.  If the name is
              unknown, this field should not be present.
            </li>
            <li>
              "operator-short": short-format name of operator.  If the name is
              unknown, this field should not be present.
            </li>
            <li>
              "operator-num": mobile code of the operator.  Returned in the
              format "MCCMNC", where MCC is the three-digit ITU E.212 Mobile
              Country Code and MNC is the  two- or three-digit GSM Mobile
              Network Code.  e.g. "31026" or "310260".
            </li>
            <li>
              "access-tech": a number representing the access technology used by
              this mobile network as described in 3GPP TS 27.007 section 7.3.
              e.g. "0" (GSM), "1" (GSM Compact), "2" (UTRAN/UMTS), "3" (EDGE),
              etc.
            </li>
          </ul>
	</tp:docstring>
      </arg>
    </method>

    <method name="SetApn">
      <tp:docstring>
	Set the APN.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_set_apn"/>
      <arg name="apn" type="s" direction="in">
	<tp:docstring>
	  The APN.
	</tp:docstring>
      </arg>
    </method>

    <method name="GetSignalQuality">
      <tp:docstring>
	Get the current signal quality.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_get_signal_quality"/>
      <arg name="quality" type="u" direction="out">
	<tp:docstring>
	  Signal quality (percent).
	</tp:docstring>
      </arg>
    </method>

    <method name="SetBand">
      <tp:docstring>
        Sets the band the device is allowed to use when connecting to a mobile network.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_set_band"/>
      <arg name="band" type="u" direction="in" tp:type="MM_MODEM_GSM_BAND">
        <tp:docstring>
          The desired band.  Only one band may be specified, and may not be UNKNOWN.
        </tp:docstring>
      </arg>
    </method>

    <method name="GetBand">
      <tp:docstring>
        Returns the current band the device is using.  (Note for plugin writers: returned value must not be ANY)
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_get_band"/>
      <arg name="band" type="u" direction="out" tp:type="MM_MODEM_GSM_BAND">
        <tp:docstring>
          The current band.
        </tp:docstring>
      </arg>
    </method>

    <method name="SetNetworkMode">
      <tp:docstring>
        Set the desired mode the device may use when connecting to a mobile
        network (DEPRECATED; see SetAllowedMode instead).
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_set_network_mode"/>
      <arg name="mode" type="u" direction="in" tp:type="MM_MODEM_GSM_NETWORK_DEPRECATED_MODE">
        <tp:docstring>
          The desired network mode.  Only one mode may be specified, and may not be UNKNOWN.
        </tp:docstring>
      </arg>
    </method>

    <method name="GetNetworkMode">
      <tp:docstring>
        Returns the current network mode of the device (DEPRECATED; does not
        allow returning both the saved mode preference *and* the current access
        technology of the device at the same time.  See the AllowedMode
        property instead).
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_get_network_mode"/>
      <arg name="mode" type="u" direction="out" tp:type="MM_MODEM_GSM_NETWORK_DEPRECATED_MODE">
        <tp:docstring>
          Returns the general network mode (ex. 2G/3G preference) of the device.
        </tp:docstring>
      </arg>
    </method>

    <method name="GetRegistrationInfo">
      <tp:docstring>
	Get the registration status and the current operator (if registered).
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_get_reg_info"/>
      <arg name="info" type="(uss)" direction="out">
	<tp:docstring>
          The returned information is composed of the following items in the
          following order:
          <ul>
            <li>
              Mobile registration status as defined in 3GPP TS 27.007 section
              10.1.19.  See the MM_MODEM_GSM_NETWORK_REG_STATUS enumeration for
              possible values.
            </li>
            <li>
              Current operator code of the operator to which the mobile is
              currently registered.  Returned in the format "MCCMNC", where MCC
              is the three-digit ITU E.212 Mobile Country Code and MNC is the 
              two- or three-digit GSM Mobile Network Code.  If the MCC and MNC
              are not known or the mobile is not registered to a mobile network,
              this value should be a zero-length (blank) string. e.g. "31026"
              or "310260".
            </li>
            <li>
              Current operator name of the operator to which the mobile is
              currently registered.  If the operator name is not knowon or the
              mobile is not registered to a mobile network, this value should
              be a zero-length (blank) string.
            </li>
          </ul>
	</tp:docstring>
      </arg>
    </method>

    <method name="SetAllowedMode">
      <tp:docstring>
        Set the access technologies a device is allowed to use when connecting
        to a mobile network.
      </tp:docstring>
      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
      <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_set_allowed_mode"/>
      <arg name="mode" type="u" direction="in" tp:type="MM_MODEM_GSM_ALLOWED_MODE">
        <tp:docstring>
          The allowed mode.  The device may not support all modes; see
          the org.freedesktop.ModemManager.Gsm.Card.SupportedModes property for
          allowed modes for each device.  All devices support the "ANY" flag.
        </tp:docstring>
      </arg>
    </method>

    <property name="AllowedMode" type="u" access="read" tp:type="MM_MODEM_GSM_ALLOWED_MODE">
      <tp:docstring>
        The allowed access technologies (eg 2G/3G preference) the device is allowed
        to use when connecting to a mobile network.
      </tp:docstring>
    </property>

    <property name="AccessTechnology" type="u" access="read" tp:type="MM_MODEM_GSM_ACCESS_TECH">
      <tp:docstring>
        The current network access technology used by the device to communicate
        with the base station.  (Note to plugin writers: if the device's access
        technology cannot be determined, use UNKNOWN)
      </tp:docstring>
    </property>

    <signal name="SignalQuality">
      <tp:docstring>
	The signal quality changed.
      </tp:docstring>
      <arg name="quality" type="u">
	<tp:docstring>
	  The new quality in percent, 0..100.
	</tp:docstring>
      </arg>
    </signal>

    <signal name="RegistrationInfo">
      <tp:docstring>
	The registration status changed.
      </tp:docstring>
      <arg name="status" type="u" tp:type="MM_MODEM_GSM_NETWORK_REG_STATUS">
	<tp:docstring>
          Mobile registration status as defined in 3GPP TS 27.007 section
          10.1.19.
	</tp:docstring>
      </arg>
      <arg name="operator_code" type="s">
	<tp:docstring>
          Current operator code of the operator to which the mobile is
          currently registered.  Returned in the format "MCCMNC", where MCC
          is the three-digit ITU E.212 Mobile Country Code and MNC is the 
          two- or three-digit GSM Mobile Network Code.  If the MCC and MNC
          are not known or the mobile is not registered to a mobile network,
          this value should be a zero-length (blank) string.  e.g. "31026" or
          "310260".
	</tp:docstring>
      </arg>
      <arg name="operator_name" type="s">
	<tp:docstring>
          Current operator name of the operator to which the mobile is
          currently registered.  If the operator name is not knowon or the
          mobile is not registered to a mobile network, this value should
          be a zero-length (blank) string.
	</tp:docstring>
      </arg>
    </signal>

    <signal name="NetworkMode">
      <tp:docstring>
	The network mode preference changed. (DEPRECATED; see documentation
	for GetNetworkMode/SetNetworkMode)
      </tp:docstring>
      <arg name="mode" type="u" tp:type="MM_MODEM_GSM_NETWORK_DEPRECATED_MODE">
	<tp:docstring>The new network mode.</tp:docstring>
      </arg>
    </signal>

    <tp:enum name="MM_MODEM_GSM_NETWORK_REG_STATUS" type="u">
      <tp:docstring>
        GSM registration code as defined in 3GPP TS 27.007 section 10.1.19.
      </tp:docstring>
      <tp:enumvalue suffix="IDLE" value="0">
	<tp:docstring>
	  Not registered, not searching for new operator to register.
	</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="HOME" value="1">
	<tp:docstring>
	  Registered on home network.
	</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="SEARCHING" value="2">
	<tp:docstring>
	  Not registered, searching for new operator to register with.
	</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="DENIED" value="3">
	<tp:docstring>
	  Registration denied.
	</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="UNKNOWN" value="4">
	<tp:docstring>
	  Unknown registration status.
	</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="ROAMING" value="5">
	<tp:docstring>
	  Registered on a roaming network.
	</tp:docstring>
      </tp:enumvalue>
    </tp:enum>

    <tp:enum name="MM_MODEM_GSM_NETWORK_DEPRECATED_MODE" type="u">
      <tp:docstring>
        DEPRECATED; should not be used in new applications.  Use
        AccessTechnology, AllowedMode, and SetAllowedMode() instead.
      </tp:docstring>
      <tp:enumvalue suffix="ANY" value="0">
	<tp:docstring>Any network mode can be used</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="GPRS" value="1">
	<tp:docstring>GPRS</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="EDGE" value="2">
	<tp:docstring>EDGE</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="UMTS" value="3">
	<tp:docstring>UMTS (3G)</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="HSDPA" value="4">
	<tp:docstring>HSDPA</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="2G_PREFERRED" value="5">
	<tp:docstring>Prefer 2G (GPRS or EDGE)</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="3G_PREFERRED" value="6">
	<tp:docstring>Prefer 3G (UMTS/HSDPA/HSUPA/HSPA)</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="2G_ONLY" value="7">
	<tp:docstring>Use only 2G (GPRS or EDGE)</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="3G_ONLY" value="8">
	<tp:docstring>Use only 3G (UMTS/HSDPA/HSUPA/HSPA)</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="HSUPA" value="9">
	<tp:docstring>HSUPA</tp:docstring>
      </tp:enumvalue>
      <tp:enumvalue suffix="HSPA" value="10">
	<tp:docstring>HSPA (HSDPA + HSUPA)</tp:docstring>
      </tp:enumvalue>
    </tp:enum>

  </interface>
</node>