diff options
author | Guido Günther <agx@sigxcpu.org> | 2014-02-05 08:38:23 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2014-02-05 08:38:23 +0100 |
commit | dc645b92b9a7db3076ae34986ac219d01677d124 (patch) | |
tree | 963a5d6ad150a88a2a8ab6d994d79d539e19383a /introspection | |
parent | 87bd9deec22af69bb27226254803ac5c63b18d78 (diff) |
Imported Upstream version 0.4+git.20100624t180933.6e79d15upstream/0.4+git.20100624t180933.6e79d15
Diffstat (limited to 'introspection')
-rw-r--r-- | introspection/Makefile.am | 4 | ||||
-rw-r--r-- | introspection/all.xml | 2 | ||||
-rw-r--r-- | introspection/mm-modem-gsm-card.xml | 24 | ||||
-rw-r--r-- | introspection/mm-modem-gsm-network.xml | 172 | ||||
-rw-r--r-- | introspection/mm-modem-gsm-ussd.xml | 78 | ||||
-rw-r--r-- | introspection/mm-modem-gsm.xml | 88 | ||||
-rw-r--r-- | introspection/mm-modem-location.xml | 253 | ||||
-rw-r--r-- | introspection/mm-modem.xml | 37 |
8 files changed, 633 insertions, 25 deletions
diff --git a/introspection/Makefile.am b/introspection/Makefile.am index 404c1d9..941c924 100644 --- a/introspection/Makefile.am +++ b/introspection/Makefile.am @@ -13,4 +13,6 @@ EXTRA_DIST = \ mm-modem-gsm-network.xml \ mm-modem-gsm-sms.xml \ mm-modem-simple.xml \ - mm-serial-error.xml + mm-serial-error.xml \ + mm-modem-location.xml \ + mm-modem-gsm-ussd.xml diff --git a/introspection/all.xml b/introspection/all.xml index 426baf0..967e90d 100644 --- a/introspection/all.xml +++ b/introspection/all.xml @@ -25,6 +25,7 @@ <xi:include href="mm-manager.xml"/> <xi:include href="mm-modem.xml"/> <xi:include href="mm-modem-simple.xml"/> + <xi:include href="mm-modem-location.xml"/> <xi:include href="mm-modem-cdma.xml"/> <xi:include href="mm-modem-gsm.xml"/> <xi:include href="mm-modem-gsm-card.xml"/> @@ -32,6 +33,7 @@ <xi:include href="mm-modem-gsm-network.xml"/> <xi:include href="mm-modem-gsm-sms.xml"/> <xi:include href="mm-modem-gsm-hso.xml"/> + <xi:include href="mm-modem-gsm-ussd.xml"/> <xi:include href="mm-serial-error.xml"/> <xi:include href="mm-modem-error.xml"/> diff --git a/introspection/mm-modem-gsm-card.xml b/introspection/mm-modem-gsm-card.xml index ad9348d..9c9fdc1 100644 --- a/introspection/mm-modem-gsm-card.xml +++ b/introspection/mm-modem-gsm-card.xml @@ -28,6 +28,20 @@ </arg> </method> + <method name="GetOperatorId"> + <tp:docstring> + Returns the ID of the network operator that issued the SIM card, + formatted as a 5 or 6-digit MCC/MNC code (ex "310410"). + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_get_operator_id"/> + <arg name="imsi" type="s" direction="out"> + <tp:docstring> + The operator ID formatted as an MCC/MNC code. + </tp:docstring> + </arg> + </method> + <method name="SendPuk"> <tp:docstring> Send the PUK and a new PIN to unlock the SIM card. @@ -96,11 +110,17 @@ </method> <property name="SupportedBands" type="u" access="read" tp:type="MM_MODEM_GSM_BAND"> - <tp:docstring>Bands supported by the card. (Note for plugin writers: returned value must not contain ANY)</tp:docstring> + <tp:docstring> + Bands supported by the card. (Note for plugin writers: + returned value must not contain ANY) + </tp:docstring> </property> <property name="SupportedModes" type="u" access="read" tp:type="MM_MODEM_GSM_MODE"> - <tp:docstring>Network selection modes supported by the card. (Note for plugin writers: returned value must not contain ANY)</tp:docstring> + <tp:docstring> + Network selection modes supported by the card. (Note for plugin writers: + returned value must not contain ANY) + </tp:docstring> </property> </interface> diff --git a/introspection/mm-modem-gsm-network.xml b/introspection/mm-modem-gsm-network.xml index 934e8e0..7c26681 100644 --- a/introspection/mm-modem-gsm-network.xml +++ b/introspection/mm-modem-gsm-network.xml @@ -23,7 +23,38 @@ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_gsm_modem_scan"/> <arg name="results" type="aa{ss}" direction="out"> <tp:docstring> - 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, access-tech. + <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> @@ -82,11 +113,12 @@ <method name="SetNetworkMode"> <tp:docstring> - Set the desired mode the device may use when connecting to a mobile network. + 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_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> @@ -95,11 +127,14 @@ <method name="GetNetworkMode"> <tp:docstring> - Returns the current network mode of the device. (Note for plugin writers: returned value *may* be ANY) + 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_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> @@ -114,14 +149,65 @@ <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 contains: - * Network status. - * Current operator code. - * Current operator name, + 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. @@ -139,33 +225,45 @@ </tp:docstring> <arg name="status" type="u" tp:type="MM_MODEM_GSM_NETWORK_REG_STATUS"> <tp:docstring> - The network status. + 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> - The current operator code. + 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> - The current operator name. + 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 changed. + The network mode preference changed. (DEPRECATED; see documentation + for GetNetworkMode/SetNetworkMode) </tp:docstring> - <arg name="mode" type="u" tp:type="MM_MODEM_GSM_MODE"> - <tp:docstring> - The new network mode. - </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. @@ -198,5 +296,45 @@ </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> diff --git a/introspection/mm-modem-gsm-ussd.xml b/introspection/mm-modem-gsm-ussd.xml new file mode 100644 index 0000000..ae6884f --- /dev/null +++ b/introspection/mm-modem-gsm-ussd.xml @@ -0,0 +1,78 @@ +<?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.Ussd"> + <method name="Initiate"> + <tp:docstring> + Sends a USSD command string to the network initiating a USSD session. + When the request is handled by the network, the method returns the + response or an appropriate error. The network may be awaiting further + response from the ME after returning from this method and no new command + can be initiated until this one is cancelled or ended. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_gsm_ussd_initiate"/> + <arg name="command" type="s" direction="in"> + <tp:docstring> + The command to start the USSD session with. + </tp:docstring> + </arg> + <arg name="reply" type="s" direction="out"> + <tp:docstring> + The network response to the command which started the USSD session. + </tp:docstring> + </arg> + </method> + + <method name="Respond"> + <tp:docstring> + Respond to a USSD request that is either initiated by the mobile network, + or that is awaiting further input after Initiate() was called. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_gsm_ussd_respond"/> + <arg name="response" type="s" direction="in"> + <tp:docstring> + The response to network-initiated USSD command, or a response to a + request for further input. + </tp:docstring> + </arg> + </method> + + <method name="Cancel"> + <tp:docstring> + Cancel an ongoing USSD session, either mobile or network initiated. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_gsm_ussd_cancel"/> + </method> + + <property name="State" type="s" access="read"> + <tp:docstring> + Indicates the state of any ongoing USSD session. Values may be one of + the following: "idle" (no active session), "active" (a session is active + and the mobile is waiting for a response), "user-response" (the network + is waiting for the client's response, which must be sent using Respond()). + </tp:docstring> + </property> + + <property name="NetworkNotification" type="s" access="read"> + <tp:docstring> + Contains any network-initiated request to which no USSD response is + required. When no USSD session is active, or when there is no network- + initiated request, this property will be a zero-length string. + </tp:docstring> + </property> + + <property name="NetworkRequest" type="s" access="read"> + <tp:docstring> + Contains any pending network-initiated request for a response. Client + should call Respond() with the appropriate response to this request. + When no USSD session is active, or when there is no pending + network-initiated request, this property will be a zero-length string. + </tp:docstring> + </property> + + </interface> +</node> diff --git a/introspection/mm-modem-gsm.xml b/introspection/mm-modem-gsm.xml index d6c42c8..ea23adc 100644 --- a/introspection/mm-modem-gsm.xml +++ b/introspection/mm-modem-gsm.xml @@ -3,6 +3,11 @@ <node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> <interface name="org.freedesktop.ModemManager.Modem.Gsm"> <tp:flags name="MM_MODEM_GSM_MODE" value-prefix="MM_MODEM_GSM_MODE" type="u"> + <tp:docstring> + A bitfield describing the specifc access modes and technologies + supported by a device and the access technology in-use when connected to + a mobile network. + </tp:docstring> <tp:flag suffix="UNKNOWN" value="0x0"> <tp:docstring>Unknown or invalid mode.</tp:docstring> </tp:flag> @@ -19,28 +24,39 @@ <tp:docstring>UMTS (3G)</tp:docstring> </tp:flag> <tp:flag suffix="HSDPA" value="0x10"> - <tp:docstring>HSDPA</tp:docstring> + <tp:docstring>HSDPA (3G)</tp:docstring> </tp:flag> <tp:flag suffix="2G_PREFERRED" value="0x20"> <tp:docstring>Prefer 2G (GPRS or EDGE)</tp:docstring> </tp:flag> <tp:flag suffix="3G_PREFERRED" value="0x40"> - <tp:docstring>Prefer 3G (UMTS or HSDPA)</tp:docstring> + <tp:docstring>Prefer 3G (UMTS/HSDPA/HSUPA/HSPA)</tp:docstring> </tp:flag> <tp:flag suffix="2G_ONLY" value="0x80"> <tp:docstring>Use only 2G (GPRS or EDGE)</tp:docstring> </tp:flag> <tp:flag suffix="3G_ONLY" value="0x100"> - <tp:docstring>Use only 3G (UMTS or HSDPA)</tp:docstring> + <tp:docstring>Use only 3G (UMTS/HSDPA/HSUPA/HSPA)</tp:docstring> </tp:flag> <tp:flag suffix="HSUPA" value="0x200"> - <tp:docstring>HSUPA</tp:docstring> + <tp:docstring>HSUPA (3G)</tp:docstring> + </tp:flag> + <tp:flag suffix="HSPA" value="0x400"> + <tp:docstring>HSPA (3G)</tp:docstring> + </tp:flag> + <tp:flag suffix="GSM" value="0x800"> + <tp:docstring>GSM</tp:docstring> + </tp:flag> + <tp:flag suffix="GSM_COMPACT" value="0x1000"> + <tp:docstring>GSM Compact</tp:docstring> </tp:flag> </tp:flags> <tp:flags name="MM_MODEM_GSM_BAND" value-prefix="MM_MODEM_GSM_BAND" type="u"> <tp:docstring> - GSM network and device bands. + A bitfield describing the specific radio bands supported by the device + and the radio bands the device is allowed to use when connecting to a + mobile network. </tp:docstring> <tp:flag suffix="UNKNOWN" value="0x0"> <tp:docstring>Unknown or invalid band</tp:docstring> @@ -81,6 +97,68 @@ <tp:flag suffix="U17IX" value="0x800"> <tp:docstring>WCDMA 3GPP UMTS 1700 MHz (Class IX)</tp:docstring> </tp:flag> + <tp:flag suffix="U1900" value="0x1000"> + <tp:docstring>WCDMA 3GPP UMTS 1900 MHz (Class II)</tp:docstring> + </tp:flag> </tp:flags> + + <tp:enum name="MM_MODEM_GSM_ALLOWED_MODE" type="u"> + <tp:docstring> + Describes the device's current access mode preference; ie the specific + technology preferences the device is allowed to use when connecting to + a mobile network. + </tp:docstring> + <tp:enumvalue suffix="ANY" value="0"> + <tp:docstring>Any mode can be used</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="2G_PREFERRED" value="1"> + <tp:docstring>Prefer 2G (GPRS or EDGE)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="3G_PREFERRED" value="2"> + <tp:docstring>Prefer 3G (UMTS or HSxPA)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="2G_ONLY" value="3"> + <tp:docstring>Use only 2G (GPRS or EDGE)</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="3G_ONLY" value="4"> + <tp:docstring>Use only 3G (UMTS or HSxPA)</tp:docstring> + </tp:enumvalue> + </tp:enum> + + <tp:enum name="MM_MODEM_GSM_ACCESS_TECH" type="u"> + <tp:docstring> + Describes various access technologies that a device uses when connected + to a mobile network. + </tp:docstring> + <tp:enumvalue suffix="UNKNOWN" value="0"> + <tp:docstring>The access technology used is unknown</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="GSM" value="1"> + <tp:docstring>GSM</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="GSM_COMPACT" value="2"> + <tp:docstring>Compact GSM</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="GPRS" value="3"> + <tp:docstring>GPRS</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="EDGE" value="4"> + <tp:docstring>EDGE (ETSI 27.007: "GSM w/EGPRS")</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="UMTS" value="5"> + <tp:docstring>UMTS (ETSI 27.007: "UTRAN")</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="HSDPA" value="6"> + <tp:docstring>HSDPA (ETSI 27.007: "UTRAN w/HSDPA")</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="HSUPA" value="7"> + <tp:docstring>HSUPA (ETSI 27.007: "UTRAN w/HSUPA")</tp:docstring> + </tp:enumvalue> + <tp:enumvalue suffix="HSPA" value="8"> + <tp:docstring>HSPA (ETSI 27.007: "UTRAN w/HSDPA and HSUPA")</tp:docstring> + </tp:enumvalue> + </tp:enum> + </interface> </node> + diff --git a/introspection/mm-modem-location.xml b/introspection/mm-modem-location.xml new file mode 100644 index 0000000..58dca68 --- /dev/null +++ b/introspection/mm-modem-location.xml @@ -0,0 +1,253 @@ +<?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.Location"> + <tp:docstring> + This interface allows devices to provide location information to client + applications. Not all devices can provide this information, or even if + they do, they may not be able to provide it while a data session is + active. + </tp:docstring> + + <property name="Capabilities" type="u" access="read" tp:type="MM_MODEM_LOCATION_CAPABILITIES"> + <tp:docstring> + Location capabilities of the device. + </tp:docstring> + </property> + + <property name="Enabled" type="b" access="read"> + <tp:docstring> + TRUE if location information gathering is enabled for this device, FALSE + if it is disabled. When disabled, the device will not provide location + information. + </tp:docstring> + </property> + + <method name="Enable"> + <tp:docstring> + Enable or disable location information gathering. This method may + require the client to authenticate itself. This method may also cause + any necessary functionality of the mobile be be turned on, including + enabling the modem device itself. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_location_enable"/> + <arg name="enable" type="b" direction="in"> + <tp:docstring> + TRUE to enable location information gathering, FALSE to disable. + </tp:docstring> + </arg> + <arg name="signal_location" type="b" direction="in"> + <tp:docstring> + When enabling location information gathering, this argument controls + whether the device emits signals with new location information or not. + When signals are emitted, any client application (including malicious + ones!) can listen for location updates unless D-Bus permissions + restrict these signals from certain users. If further security is + desired, this argument can be set to FALSE to disable location + updates via D-Bus signals and require applications to call + authenticated APIs (like GetLocation) to get location information. + This argument is ignored when disabling location information + gathering. + </tp:docstring> + </arg> + </method> + + <method name="GetLocation"> + <tp:docstring> + Return current location information, if any. This method may require + the client to authenticate itself. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_location_get_location"/> + <arg name="Location" type="a{uv}" direction="out" tp:type="Location_Information_Map"> + <tp:docstring> + Dict of available location information when location information + gathering is enabled. If the modem supports multiple location types + it may return more than one here. + </tp:docstring> + </arg> + </method> + + <property name="SignalsLocation" type="b" access="read"> + <tp:docstring> + TRUE if location updates will be emitted via D-Bus signals, FALSE + if location updates will not be emitted. See the Enable method for + more information. + </tp:docstring> + </property> + + <property name="Location" type="a{uv}" access="read" tp:type="Location_Information_Map"> + <tp:docstring> + Dict of available location information when location information + gathering is enabled. If the modem supports multiple location types + it may return more than one here. Note that if the device was told + not to emit updated location information when location information + gathering was initially enabled, this property may not return + any location information for security reasons. + </tp:docstring> + </property> + + <tp:mapping name="Location_Information_Map"> + <tp:docstring> + A mapping from location type to type-specific location information. + </tp:docstring> + <tp:member type="u" name="Type" tp:type="MM_MODEM_LOCATION_CAPABILITIES"> + <tp:docstring> + Identifies the type and format of the associated location information. + Contrary to the value description, this is not a bitfield but uses the + same values as the MM_MODEM_LOCATION_CAPABILITIES bitfield. + </tp:docstring> + </tp:member> + <tp:member type="v" name="Data"> + <tp:docstring> + Contains type-specific location information. See the documentation for + each type for a description of its data format. + </tp:docstring> + </tp:member> + </tp:mapping> + + <tp:flags name="MM_MODEM_LOCATION_CAPABILITIES" value-prefix="MM_MODEM_LOCATION_CAPABILITY" type="u"> + <tp:flag suffix="UNKNOWN" value="0x0"> + <tp:docstring><p>Unknown or no capabilties.</p></tp:docstring> + </tp:flag> + <tp:flag suffix="GPS_NMEA" value="0x1"> + <tp:docstring> + <p>For capability reporting, indicates the device is capable of + providing GPS NMEA-format location information.</p> + + <p>For location reporting, devices supporting this capability return + a string containing one or more NMEA sentences (D-Bus signature 's'). + The manager will cache the most recent NMEA sentence of each type for + a period of time not less than 30 seconds. When reporting multiple + NMEA sentences, sentences shall be separated by an ASCII Carriage + Return and Line Feed (<CR><LF>) sequence. + </p> + <p> + For example, if the device sends a $GPRMC sentence immediately + followed by a $GPGGA sentence, the reported location string would be + (where of course the <CR><LF> is replaced with the actual + ASCII CR (0x0D) and LF (0x0A) control characters): + <pre> + $GPRMC,134523.92,V,,,,,,,030136,,,N*73<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45 + </pre> + If the device sends a new $GPRMC three seconds later, the new $GPRMC + replaces the previously received $GPRMC sentence, and the updated + string would be: + <pre> + $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45 + </pre> + If the device then sends a $GPGSA sentence about 5 seconds later, the + $GPGSA sentence is added to the string (since no $GPGSA sentence was + previously received in this session), the updated string would be: + <pre> + $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45<CR><LF>$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 + </pre> + The manager may discard any cached sentences older than 30 seconds. + </p> + <p>This allows clients to read the latest positioning data as soon as + possible after they start, even if the device is not providing + frequent location data updates. + </p> + </tp:docstring> + </tp:flag> + <tp:flag suffix="GSM_LAC_CI" value="0x2"> + <tp:docstring> + <p>For capability reporting, indicates the device is capable of + providing GSM Location Area Code/Cell ID location information.</p> + + <p>For location reporting, devices supporting this + capability return a string in the format "MCC,MNC,LAC,CI" (without the + quotes of course) where the following applies:</p> + <ul> + <li> + MCC is the three-digit ITU E.212 Mobile Country Code of the + network provider to which the mobile is currently registered. + This value should be the same MCC as reported by the + org.freedesktop.Modem.Gsm.Network.GetRegistrationInfo() method's + returned "operator code" argument. + e.g. "310" + </li> + <li> + MNC is the two- or three-digit GSM Mobile Network Code of the + network provider to which the mobile is currently registered. + This value should be the same MCC as reported by the + org.freedesktop.Modem.Gsm.Network.GetRegistrationInfo() method's + returned "operator code" argument. + e.g. "26" or "260" + </li> + <li> + LAC is the two-byte Location Area Code of the base station with + which the mobile is registered, in upper-case hexadecimal format + without leading zeros, as specified in 3GPP TS 27.007 section + 10.1.19. e.g. "84CD". + </li> + <li> + CI is the two- or four-byte Cell Identifier with which the mobile + is registered, in upper-case hexadecimal format without leading + zeros, as specified in 3GPP TS 27.007. e.g. "2BAF" or "D30156". + </li> + </ul> + <p>The entire string may only be composed of the ASCII digits [0-9], + the alphabetical characters [A-F], and the comma (,) character. No + other characters are allowed. For example: "310,260,8BE3,2BAF" or + "250,40,CE00,1CEAD8F0".</p> + + <p>If any of these four items (MCC,MNC,LAC,CI) is unknown or the + mobile is not registered with a network, then the GSM_LAC_CI location + information item should not be provided as a returned value from the + GetLocation() method or in the Location property.</p> + </tp:docstring> + </tp:flag> + <tp:flag suffix="GSM_GPS_RAW" value="0x4"> + <tp:docstring> + <p>For capability reporting, indicates the device is capable of + providing raw GPS information using a series of defined key/value + pairs.</p> + + <p>For location reporting, devices supporting this + capability return a D-Bus dict (signature a{sv}) mapping well-known + keys to values with defined formats. The allowed key/value pairs + and their formats are:</p> + <table> + <tr><th>Key</th><th>Value Type</th><th>Value contents</th><th>Example</th></tr> + <tr> + <td>latitude</td> + <td>d</td> + <td>Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere)</td> + <td>38.889722 (ie, 38d 53' 22" N)</td> + </tr> + <tr> + <td>longitude</td> + <td>d</td> + <td>Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere)</td> + <td>-77.008889 (ie, 77d 0' 32" W)</td> + </tr> + <tr> + <td>altitude</td> + <td>d</td> + <td>Altitude above sea level in meters</td> + <td>33.5</td> + </tr> + <tr> + <td>horiz-velocity</td> + <td>d</td> + <td>Horizontal velocity in meters-per-second</td> + <td>.5</td> + </tr> + <tr> + <td>vert-velocity</td> + <td>d</td> + <td>Vertical velocity in meters-per-second</td> + <td>.01</td> + </tr> + </table> + <p>The 'latitude' and 'longitude' keys are required; other keys are + optional.</p> + </tp:docstring> + </tp:flag> + </tp:flags> + + </interface> +</node> + diff --git a/introspection/mm-modem.xml b/introspection/mm-modem.xml index 7896fff..7d54dd3 100644 --- a/introspection/mm-modem.xml +++ b/introspection/mm-modem.xml @@ -81,6 +81,17 @@ </arg> </method> + <method name="FactoryReset"> + <tp:docstring> + Reset the modem to as close to factory state as possible. + </tp:docstring> + <annotation name="org.freedesktop.DBus.GLib.Async" value=""/> + <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_factory_reset"/> + <arg name="code" type="s" direction="in"> + Carrier-supplied code required to reset the modem. Ignored if not required. + </arg> + </method> + <property name="Device" type="s" access="read"> <tp:docstring> The modem port to use for IP configuration and traffic. @@ -113,6 +124,32 @@ </tp:docstring> </property> + <property name="EquipmentIdentifier" type="s" access="read"> + <tp:docstring> + The identity of the device. This will be the IMEI number for + GSM devices and the hex-format ESN/MEID for CDMA devices. + </tp:docstring> + </property> + + <property name="UnlockRequired" type="s" access="read"> + <tp:docstring> + Empty if the device is usable without an unlock code or has already + been unlocked. If the device needs to be unlocked before becoming usable this + property contains the specific unlock code required. Valid unlock code values + are "" (blank), "sim-pin", "sim-puk", "ph-sim-pin", "ph-fsim-pin", + "ph-fsim-puk", "sim-pin2", "sim-puk2", "ph-net-pin", "ph-net-puk", + "ph-netsub-pin", "ph-netsub-puk", "ph-sp-pin", "ph-sp-puk", "ph-corp-pin", and + "ph-corp-puk". + </tp:docstring> + </property> + + <property name="UnlockRetries" type="u" access="read"> + <tp:docstring> + The number of unlock retries remaining for the unlock code given by the property UnlockRequired, or 999 if + the device does not support reporting unlock retries. + </tp:docstring> + </property> + <property name="IpMethod" type="u" access="read" tp:type="MM_MODEM_IP_METHOD"> <tp:docstring> The IP configuration method. |