Warning, /frameworks/modemmanager-qt/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8" ?>
0002
0003 <!--
0004 ModemManager 1.0 Interface Specification
0005
0006 Copyright (C) 2008 Novell, Inc.
0007 Copyright (C) 2008-2013 Red Hat, Inc.
0008 Copyright (C) 2011-2013 Google, Inc.
0009 Copyright (C) 2011-2013 Lanedo GmbH
0010 -->
0011
0012 <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
0013
0014 <!--
0015 org.freedesktop.ModemManager1.Modem.Location:
0016 @short_description: The ModemManager Location interface.
0017
0018 The Location interface allows devices to provide location information to
0019 client applications. Not all devices can provide this information, or even
0020 if they do, they may not be able to provide it while a data session is
0021 active.
0022 -->
0023 <interface name="org.freedesktop.ModemManager1.Modem.Location">
0024
0025 <!--
0026 Setup:
0027 @sources: Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link> flags, specifying which sources should get enabled or disabled. <link linkend="MM-MODEM-LOCATION-SOURCE-NONE:CAPS">MM_MODEM_LOCATION_SOURCE_NONE</link> will disable all location gathering.
0028 @signal_location: Flag to control whether the device emits signals with the new location information. This argument is ignored when disabling location information gathering.
0029
0030 Configure the location sources to use when gathering location
0031 information. Also enable or disable location information gathering.
0032 This method may require the client to authenticate itself.
0033
0034 When signals are emitted, any client application (including malicious
0035 ones!) can listen for location updates unless D-Bus permissions restrict
0036 these signals from certain users. If further security is desired, the
0037 @signal_location argument can be set to %FALSE to disable location
0038 updates via D-Bus signals and require applications to call
0039 authenticated APIs (like
0040 <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">GetLocation()</link>
0041 ) to get
0042 location information.
0043 -->
0044 <method name="Setup">
0045 <arg name="sources" type="u" direction="in" />
0046 <arg name="signal_location" type="b" direction="in" />
0047 </method>
0048
0049 <!--
0050 GetLocation:
0051 @location: Dictionary of available location information when location information gathering is enabled.
0052
0053 Return current location information, if any. If the modem supports
0054 multiple location types it may return more than one. See the
0055 #org.freedesktop.ModemManager1.Modem.Location:Location property
0056 for more information on the dictionary returned at @location.
0057
0058 This method may require the client to authenticate itself.
0059 -->
0060 <method name="GetLocation">
0061 <arg name="Location" type="a{uv}" direction="out">
0062 <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="LocationInformationMap"/>
0063 </arg>
0064 </method>
0065
0066 <!--
0067 Capabilities:
0068
0069 Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link>
0070 values, specifying the supported location sources.
0071 -->
0072 <property name="Capabilities" type="u" access="read" />
0073
0074 <!--
0075 Enabled:
0076
0077 Bitmask specifying which of the supported
0078 <link linkend="MMModemLocationSource">MMModemLocationSource</link>
0079 location sources is currently enabled in the device.
0080 -->
0081 <property name="Enabled" type="u" access="read" />
0082
0083 <!--
0084 SignalsLocation:
0085
0086 %TRUE if location updates will be emitted via D-Bus signals, %FALSE if
0087 location updates will not be emitted.
0088
0089 See the
0090 <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">Setup()</link>
0091 method for more information.
0092 -->
0093 <property name="SignalsLocation" type="b" access="read" />
0094
0095 <!--
0096 Location:
0097
0098 Dictionary of available location information when location information
0099 gathering is enabled. If the modem supports multiple location types it
0100 may return more than one here.
0101
0102 Note that if the device was told not to emit updated location
0103 information when location information gathering was initially enabled,
0104 this property may not return any location information for security reasons.
0105
0106 This dictionary is composed of a
0107 <link linkend="MMModemLocationSource">MMModemLocationSource</link>
0108 key, with an associated data which contains type-specific location
0109 information:
0110
0111 <variablelist>
0112 <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</link></term>
0113 <listitem>
0114 <para>
0115 Devices supporting this
0116 capability return a string in the format <literal>"MCC,MNC,LAC,CI"</literal> (without the
0117 quotes of course) where the following applies:
0118 </para>
0119 <variablelist>
0120 <varlistentry><term><literal>MCC</literal></term>
0121 <listitem>
0122 This is the three-digit ITU E.212 Mobile Country Code of the
0123 network provider to which the mobile is currently registered.
0124 e.g. <literal>"310"</literal>.
0125 </listitem>
0126 </varlistentry>
0127 <varlistentry><term><literal>MNC</literal></term>
0128 <listitem>
0129 This is the two- or three-digit GSM Mobile Network Code of the
0130 network provider to which the mobile is currently registered.
0131 e.g. <literal>"26"</literal> or <literal>"260"</literal>.
0132 </listitem>
0133 </varlistentry>
0134 <varlistentry><term><literal>LAC</literal></term>
0135 <listitem>
0136 This is the two-byte Location Area Code of the base station with
0137 which the mobile is registered, in upper-case hexadecimal format
0138 without leading zeros, as specified in 3GPP TS 27.007 section
0139 10.1.19. e.g. <literal>"84CD"</literal>.
0140 </listitem>
0141 </varlistentry>
0142 <varlistentry><term><literal>CI</literal></term>
0143 <listitem>
0144 This is the two- or four-byte Cell Identifier with which the mobile
0145 is registered, in upper-case hexadecimal format without leading
0146 zeros, as specified in 3GPP TS 27.007.
0147 e.g. <literal>"2BAF"</literal> or <literal>"D30156"</literal>.
0148 </listitem>
0149 </varlistentry>
0150 </variablelist>
0151 <para>
0152 The entire string may only be composed of the ASCII digits <literal>[0-9]</literal>,
0153 the alphabetical characters <literal>[A-F]</literal>, and the comma (<literal>,</literal>) character.
0154 No other characters are allowed. For example: <literal>"310,260,8BE3,2BAF"</literal> or
0155 <literal>"250,40,CE00,1CEAD8F0"</literal>.
0156 </para>
0157 <para>
0158 If any of these four items (<literal>MCC</literal>, <literal>MNC</literal>,
0159 <literal>LAC</literal>, <literal>CI</literal>) is unknown or the
0160 mobile is not registered with a network, then the
0161 <link linkend="MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</link>
0162 location
0163 information item should not be provided as a returned value from the
0164 <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">GetLocation()</link>
0165 method or in the #org.freedesktop.ModemManager1.Modem.Location:Location property.
0166 </para>
0167 </listitem>
0168 </varlistentry>
0169 <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_RAW</link></term>
0170 <listitem>
0171 <para>
0172 Devices supporting this
0173 capability return a D-Bus dictionary (signature <literal>"a{sv}"</literal>) mapping well-known
0174 keys to values with defined formats.
0175 </para>
0176 <para>
0177 The allowed key/value pairs and their formats are:
0178 </para>
0179 <variablelist>
0180 <varlistentry><term><literal>"utc-time"</literal></term>
0181 <listitem>
0182 (Required) UTC time in ISO 8601 format, given as a string value (signature <literal>"s"</literal>). e.g. <literal>203015</literal>.
0183 </listitem>
0184 </varlistentry>
0185 <varlistentry><term><literal>"latitude"</literal></term>
0186 <listitem>
0187 (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>38.889722</literal>, meaning 38d 53' 22" N.
0188 </listitem>
0189 </varlistentry>
0190 <varlistentry><term><literal>"longitude"</literal></term>
0191 <listitem>
0192 (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>-77.008889</literal>, meaning 77d 0' 32" W.
0193 </listitem>
0194 </varlistentry>
0195 <varlistentry><term><literal>"altitude"</literal></term>
0196 <listitem>
0197 (Optional) Altitude above sea level in meters, given as a double value (signature <literal>"d"</literal>). e.g. <literal>33.5</literal>.
0198 </listitem>
0199 </varlistentry>
0200 </variablelist>
0201 </listitem>
0202 </varlistentry>
0203 <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_NMEA</link></term>
0204 <listitem>
0205 <para>
0206 Devices supporting this capability return
0207 a string containing one or more NMEA sentences (D-Bus signature <literal>'s'</literal>).
0208 The manager will cache the most recent NMEA sentence of each type for
0209 a period of time not less than 30 seconds. When reporting multiple
0210 NMEA sentences, sentences shall be separated by an ASCII Carriage
0211 Return and Line Feed (<literal><CR><LF></literal>) sequence.
0212 </para>
0213 <para>
0214 For example, if the device sends a <literal>$GPRMC</literal> sentence immediately
0215 followed by a <literal>$GPGGA</literal> sentence, the reported location string would be
0216 (where of course the <literal><CR><LF></literal> is replaced with the actual
0217 ASCII <literal>CR</literal> (0x0D) and <literal>LF</literal> (0x0A) control characters):
0218 <para><literal>
0219 $GPRMC,134523.92,V,,,,,,,030136,,,N*73<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
0220 </literal></para>
0221 If the device sends a new <literal>$GPRMC</literal> three seconds later, the new <literal>$GPRMC</literal>
0222 replaces the previously received <literal>$GPRMC</literal> sentence, and the updated
0223 string would be:
0224 <para><literal>
0225 $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
0226 </literal></para>
0227 If the device then sends a <literal>$GPGSA</literal> sentence about 5 seconds later, the
0228 <literal>$GPGSA</literal> sentence is added to the string (since no <literal>$GPGSA</literal> sentence was
0229 obviously received in this session), the updated string would be:
0230 <para><literal>
0231 $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
0232 </literal></para>
0233 The manager may discard any cached sentences older than 30 seconds.
0234 </para>
0235 <para>
0236 This allows clients to read the latest positioning data as soon as
0237 possible after they start, even if the device is not providing
0238 frequent location data updates.
0239 </para>
0240 </listitem>
0241 </varlistentry>
0242 <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-CDMA-BS:CAPS">MM_MODEM_LOCATION_SOURCE_CDMA_BS</link></term>
0243 <listitem>
0244 <para>
0245 Devices supporting this
0246 capability return a D-Bus dictionary (signature <literal>"a{sv}"</literal>) mapping well-known
0247 keys to values with defined formats.
0248 </para>
0249 <para>
0250 The allowed key/value pairs and their formats are:
0251 </para>
0252 <variablelist>
0253 <varlistentry><term><literal>"latitude"</literal></term>
0254 <listitem>
0255 (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>38.889722</literal>, meaning 38d 53' 22" N.
0256 </listitem>
0257 </varlistentry>
0258 <varlistentry><term><literal>"longitude"</literal></term>
0259 <listitem>
0260 (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>-77.008889</literal>, meaning 77d 0' 32" W.
0261 </listitem>
0262 </varlistentry>
0263 </variablelist>
0264 </listitem>
0265 </varlistentry>
0266 </variablelist>
0267 -->
0268 <property name="Location" type="a{uv}" access="read">
0269 <annotation name="org.qtproject.QtDBus.QtTypeName" value="LocationInformationMap"/>
0270 </property>
0271
0272 </interface>
0273 </node>