api: proposed new interface for MM 0.6 and later

Main changes are cleaning up the API and allowing for multi-mode
devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE
at the same time.  This provides a starting discussion point for
the new MM 0.6 API.
This commit is contained in:
Dan Williams
2011-05-18 21:59:42 -05:00
parent b3f0ca9233
commit 7c70ad55bb
15 changed files with 2271 additions and 0 deletions

318
new/mm-mobile-error.xml Normal file
View File

@@ -0,0 +1,318 @@
<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.ModemManager.Modem.Gsm">
<tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
<tp:error name="PhoneFailure">
<tp:docstring>
A phone failure.
</tp:docstring>
</tp:error>
<tp:error name="NoConnection">
<tp:docstring>
No connection to phone.
</tp:docstring>
</tp:error>
<tp:error name="LinkReserved">
<tp:docstring>
Phone-adaptor link reserved.
</tp:docstring>
</tp:error>
<tp:error name="OperationNotAllowed">
<tp:docstring>
Operation not allowed.
</tp:docstring>
</tp:error>
<tp:error name="OperationNotSupported">
<tp:docstring>
Operation not supported.
</tp:docstring>
</tp:error>
<tp:error name="PhSimPinRequired">
<tp:docstring>
PH-SIM PIN required.
</tp:docstring>
</tp:error>
<tp:error name="PhFSimPinRequired">
<tp:docstring>
PH-FSIM PIN required.
</tp:docstring>
</tp:error>
<tp:error name="PhFSimPukRequired">
<tp:docstring>
PH-FSIM PUK required.
</tp:docstring>
</tp:error>
<tp:error name="SimNotInserted">
<tp:docstring>
SIM not inserted.
</tp:docstring>
</tp:error>
<tp:error name="SimPinRequired">
<tp:docstring>
SIM PIN required.
</tp:docstring>
</tp:error>
<tp:error name="SimPukRequired">
<tp:docstring>
SIM PUK required.
</tp:docstring>
</tp:error>
<tp:error name="SimFailure">
<tp:docstring>
SIM failure.
</tp:docstring>
</tp:error>
<tp:error name="SimBusy">
<tp:docstring>
SIM busy.
</tp:docstring>
</tp:error>
<tp:error name="SimWrong">
<tp:docstring>
SIM wrong.
</tp:docstring>
</tp:error>
<tp:error name="IncorrectPassword">
<tp:docstring>
Incorrect password.
</tp:docstring>
</tp:error>
<tp:error name="SimPin2Required">
<tp:docstring>
SIM PIN2 required.
</tp:docstring>
</tp:error>
<tp:error name="SimPuk2Required">
<tp:docstring>
SIM PUK2 required.
</tp:docstring>
</tp:error>
<tp:error name="MemoryFull">
<tp:docstring>
Memory full.
</tp:docstring>
</tp:error>
<tp:error name="InvalidIndex">
<tp:docstring>
Invalid index.
</tp:docstring>
</tp:error>
<tp:error name="NotFound">
<tp:docstring>
Not found.
</tp:docstring>
</tp:error>
<tp:error name="MemoryFailure">
<tp:docstring>
Memory failure.
</tp:docstring>
</tp:error>
<tp:error name="TextTooLong">
<tp:docstring>
Text string too long.
</tp:docstring>
</tp:error>
<tp:error name="InvalidChars">
<tp:docstring>
Invalid characters in text string.
</tp:docstring>
</tp:error>
<tp:error name="DialStringTooLong">
<tp:docstring>
Dial string too long.
</tp:docstring>
</tp:error>
<tp:error name="InvalidDialString">
<tp:docstring>
Invalid characters in dial string.
</tp:docstring>
</tp:error>
<tp:error name="NoNetwork">
<tp:docstring>
No network service.
</tp:docstring>
</tp:error>
<tp:error name="NetworkTimeout">
<tp:docstring>
Network timeout.
</tp:docstring>
</tp:error>
<tp:error name="NetworkNotAllowed">
<tp:docstring>
Network not allowed - emergency calls only.
</tp:docstring>
</tp:error>
<tp:error name="NetworkPinRequired">
<tp:docstring>
Network personalization PIN required.
</tp:docstring>
</tp:error>
<tp:error name="NetworkPukRequired">
<tp:docstring>
Network personalization PUK required.
</tp:docstring>
</tp:error>
<tp:error name="NetworkSubsetPinRequired">
<tp:docstring>
Network subset personalization PIN required.
</tp:docstring>
</tp:error>
<tp:error name="NetworkSubsetPukRequired">
<tp:docstring>
Network subset personalization PUK required.
</tp:docstring>
</tp:error>
<tp:error name="ServicePinRequired">
<tp:docstring>
Service provider personalization PIN required.
</tp:docstring>
</tp:error>
<tp:error name="ServicePukRequired">
<tp:docstring>
Service provider personalization PUK required.
</tp:docstring>
</tp:error>
<tp:error name="CorporatePinRequired">
<tp:docstring>
Corporate personalization PIN required.
</tp:docstring>
</tp:error>
<tp:error name="CorporatePukRequired">
<tp:docstring>
Corporate personalization PUK required.
</tp:docstring>
</tp:error>
<tp:error name="HiddenKeyRequired">
<tp:docstring>
Hidden key required. This key is required when accessing hidden phonebook entries.
</tp:docstring>
</tp:error>
<tp:error name="EapMethodNotSupported">
<tp:docstring>
EAP method not supported.
</tp:docstring>
</tp:error>
<tp:error name="IncorrectParams">
<tp:docstring>
Incorrect parameters.
</tp:docstring>
</tp:error>
<tp:error name="Unknown">
<tp:docstring>
An unknown error.
</tp:docstring>
</tp:error>
<tp:error name="GprsIllegalMs">
<tp:docstring>
Illegal MS.
</tp:docstring>
</tp:error>
<tp:error name="GprsIllegalMe">
<tp:docstring>
Illegal ME.
</tp:docstring>
</tp:error>
<tp:error name="GprsServiceNotAllowed">
<tp:docstring>
GPRS services not allowed.
</tp:docstring>
</tp:error>
<tp:error name="GprsPlmnNotAllowed">
<tp:docstring>
PLMN not allowed.
</tp:docstring>
</tp:error>
<tp:error name="GprsLocationNotAllowed">
<tp:docstring>
Location area not allowed.
</tp:docstring>
</tp:error>
<tp:error name="GprsRoamingNotAllowed">
<tp:docstring>
Roaming not allowed in this location area.
</tp:docstring>
</tp:error>
<tp:error name="GprsOptionNotSupported">
<tp:docstring>
Service option not supported.
</tp:docstring>
</tp:error>
<tp:error name="GprsNotSubscribed">
<tp:docstring>
Requested service option not subscribed.
</tp:docstring>
</tp:error>
<tp:error name="GprsOutOfOrder">
<tp:docstring>
Service option temporarily out of order.
</tp:docstring>
</tp:error>
<tp:error name="GprsPdpAuthFailure">
<tp:docstring>
PDP authentication failure.
</tp:docstring>
</tp:error>
<tp:error name="GprsUnspecified">
<tp:docstring>
Unspecified GPRS error
</tp:docstring>
</tp:error>
<tp:error name="GprsInvalidClass">
<tp:docstring>
Invalid mobile class.
</tp:docstring>
</tp:error>
</tp:errors>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.ModemManager.Modem">
<tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
<tp:error name="NoCarrier">
<tp:docstring>
No carrier.
</tp:docstring>
</tp:error>
<tp:error name="NoDialtone">
<tp:docstring>
No dialtone.
</tp:docstring>
</tp:error>
<tp:error name="Busy">
<tp:docstring>
Busy.
</tp:docstring>
</tp:error>
<tp:error name="NoAnswer">
<tp:docstring>
No answer.
</tp:docstring>
</tp:error>
</tp:errors>

36
new/mm-modem-error.xml Normal file
View File

@@ -0,0 +1,36 @@
<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.ModemManager.Modem">
<tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
<tp:error name="General">
<tp:docstring>
A generic error. An example of a generic error is ModemManager not being able to parse the response from modem.
</tp:docstring>
</tp:error>
<tp:error name="OperationNotSupported">
<tp:docstring>
Operation not implemented by modem.
</tp:docstring>
</tp:error>
<tp:error name="Connected">
<tp:docstring>
Operation could not be performed while the modem is connected.
</tp:docstring>
</tp:error>
<tp:error name="Disconnected">
<tp:docstring>
Operation could not be performed while the modem is disconnected.
</tp:docstring>
</tp:error>
<tp:error name="OperationInProgress">
<tp:docstring>
Operation could not be performed because it is already in progress.
</tp:docstring>
</tp:error>
</tp:errors>

24
new/mm-serial-error.xml Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" ?>
<tp:errors xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
namespace="org.freedesktop.ModemManager.Modem">
<tp:copyright>Copyright (C) 2008 Novell, Inc.</tp:copyright>
<tp:error name="SerialOpenFailed">
<tp:docstring>
Could not open serial device.
</tp:docstring>
</tp:error>
<tp:error name="SerialSendFailed">
<tp:docstring>
Could not write to the serial device.
</tp:docstring>
</tp:error>
<tp:error name="SerialResponseTimeout">
<tp:docstring>
A response was not received in time.
</tp:docstring>
</tp:error>
</tp:errors>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.DBus.Properties">
<signal name="MmPropertiesChanged">
<tp:docstring>
One or more properties' values changed.
</tp:docstring>
<arg name="interface" type="s">
<tp:docstring>
The D-Bus interface of the changed properties.
</tp:docstring>
</arg>
<arg name="properties" type="a{sv}">
<tp:docstring>
The changed property names and their new values.
</tp:docstring>
</arg>
</signal>
<signal name="PropertiesChanged">
<tp:docstring>
One or more properties value changed; this signal implements the
D-Bus specification's PropertiesChanged signal.
</tp:docstring>
<arg name="interface" type="s">
<tp:docstring>
The D-Bus interface of the changed properties.
</tp:docstring>
</arg>
<arg name="changed_properties" type="a{sv}">
<tp:docstring>
The changed property names and their new values.
</tp:docstring>
</arg>
<arg name="invalidated_properties" type="as">
<tp:docstring>
Properties which are now invalid, but for which the new value is not
emitted in this signal. Clients interested in these properties should
issue a Get request for them to retrieve the new value.
</tp:docstring>
</arg>
</signal>
</interface>
</node>

View File

@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.3gpp.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_3gpp_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_3gpp_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>
<arg name="reply" type="s" direction="out">
<tp:docstring>
The network reply to this response to the network-initiated USSD
command. The reply may require further responses.
</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_3gpp_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>

View File

@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.3gpp">
<!-- METHODS -->
<method name="Register">
<tp:docstring>
Request registration with a given mobile network.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_3gpp_modem_register"/>
<arg name="network_id" type="s" direction="in">
<tp:docstring>
The network ID (ie, MCC-MNC, like "310260") 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_3gpp_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 generic access technology
used by this mobile network, defined by the MM_MODEM_ACCESS_TECH
enum.
</li>
</ul>
</tp:docstring>
</arg>
</method>
<!-- PROPERTIES -->
<property name="Imei" type="s" access="read">
<tp:docstring>
The IMEI of the device.
</tp:docstring>
</property>
<property name="RegStatus" type="u" access="read" tp:type="MM_MODEM_3GPP_NETWORK_REG_STATUS">
<tp:docstring>
Mobile registration status as defined in 3GPP TS 27.007 section
10.1.19.
</tp:docstring>
</property>
<property name="OperCode" type="s" access="read">
<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 (e.g. "31026" or "310260").
If the MCC and MNC are not known or the mobile is not registered to a
mobile network, this property will be a zero-length (blank) string.
</tp:docstring>
</property>
<property name="OperName" type="s" access="read">
<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 property will
be a zero-length (blank) string.
</tp:docstring>
</property>
<!-- ENUMS -->
<tp:enum name="MM_MODEM_3GPP_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>
</interface>
</node>

View File

@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.Bearer">
<!-- METHODS -->
<method name="Connect">
<tp:docstring>
Requests activation of a packet data connection with the network using
this bearer's properties. Upon successful activation, the modem can
send and receive packet data and, depending on the addressing
capability of the modem, a connection manager may need to start PPP,
perform DHCP, or assign the IP address returned by the modem to the
data interface. Upon successful return, the Ip4Config and/or Ip6Config
properties become valid and may contain IP configuration information for
the data interface associated with this bearer.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_bearer_connect"/>
<arg name="number" type="s" direction="in">
<tp:docstring>
The number to use for dialing.
</tp:docstring>
</arg>
</method>
<method name="Disconnect">
<tp:docstring>
Disconnect and deactivate this packet data connection. Any ongoing data
session will be terminated and IP addresses become invalid when this
method is called.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_bearer_disconnect"/>
</method>
<!-- For 3GPP (GSM/UMTS/LTE) technologies, Bearer objects represent only
Primary PDP contexts; Secondary contexts are not exposed as a concept
because they share everything with their parent primary PDP context
except QoS and traffic flows. Instead, methods for setting QoS and
Traffic Flow Templates (TFTs) should be provided here which could as a
result of being called create secondary PDP contexts with those QoS and
TFT parameters.
FIXME: add methods to set QoS/TFT on the Bearer object, which should
create Secondary contexts if needed, and figure out some method of
disposing of those secondary contexts when no longer required.
-->
<!-- PROPERTIES -->
<property name="Interface" type="s" access="read">
<tp:docstring>
The operating system name for the network data interface that provides
packet data using this bearer. Connection managers must configure this
interface depending on the IP "method" given by the "Ip4Config" or
"Ip6Config" properties set by bearer activation. If STATIC or DHCP
methods are given, the interface will be an ethernet-style inteface
suitable for DHCP or setting static IP configuration on, while if the
PPP method is given, the interface will be a serial TTY which must then
have PPP run over it.
</tp:docstring>
</property>
<property name="Connected" type="b" access="read">
<tp:docstring>
Indicates whether or not the bearer is connected and thus whether
packet data communication using this bearer is possible.
</tp:docstring>
</property>
<property name="Suspended" type="b" access="read">
<tp:docstring>
In some devices, packet data service will be suspended while the device
is handling other communication, like a voice call. If packet data
service is suspended (but not deactivated) this property will be TRUE.
</tp:docstring>
</property>
<property name="Ip4Config" type="a{sv}" access="read">
<tp:docstring>
If the bearer was configured for IPv4 addressing, upon activation this
property contains the addressing details for assignment to the data
interface. If the bearer specifies configuration via PPP or DHCP,
only the 'method' item will be present. Available items include:
method: (uint) One of MM_MODEM_BEARER_IP_METHOD
address: (string, STATIC method only) IP address
prefix: (uint, STATIC method only) Numeric CIDR network prefix (ie, 24, 32, etc)
dns1: (string, STATIC method only) First DNS server
dns2: (string, STATIC method only) Second DNS server
dns3: (string, STATIC method only) Third DNS server
gateway: (string, STATIC method only) First DNS server
</tp:docstring>
</property>
<property name="Ip6Config" type="a{sv}" access="read">
<tp:docstring>
If the bearer was configured for IPv6 addressing, upon activation this
property contains the addressing details for assignment to the data
interface. If the bearer specifies configuration via PPP or DHCP,
only the 'method' item will be present. Available items include:
method: (uint) One of MM_MODEM_BEARER_IP_METHOD
address: (string, STATIC method only) IP address
prefix: (string, STATIC method only) Network prefix
dns1: (string, STATIC method only) First DNS server
dns2: (string, STATIC method only) Second DNS server
dns3: (string, STATIC method only) Third DNS server
gateway: (string, STATIC method only) First DNS server
</tp:docstring>
</property>
<!-- ENUMS -->
<tp:enum name="MM_MODEM_BEARER_IP_METHOD" type="u">
<tp:enumvalue suffix="PPP" value="0">
<tp:docstring>
Connection managers should use PPP to get the address.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="STATIC" value="1">
<tp:docstring>
Connection managers should use the provided static IP configuration
given by the modem to configure the IP data interface.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DHCP" value="2">
<tp:docstring>
Connection managers should begin DHCP on the data interface to obtain
necessary IP configuration details.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
</interface>
</node>

View File

@@ -0,0 +1,184 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.Cdma">
<!-- METHODS -->
<method name="Activate">
<tp:docstring>
Provisions the modem for use with a given carrier using the modem's
Over-The-Air (OTA) activation functionality, if any. In the event of
immediate failure, returns an error value instead of setting a DBus error.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_cdma_activate"/>
<arg name="carrier" type="s" direction="in">
<tp:docstring>
Name of carrier.
</tp:docstring>
</arg>
<arg name="immediate_error" type="u" direction="out">
<tp:docstring>
An enum from MM_MODEM_CDMA_ACTIVATION_ERROR. This is
returned for immediate errors. Delayed errors are returned
via an ActivationStateChanged signal
</tp:docstring>
</arg>
</method>
<method name="ActivateManual">
<tp:docstring>
Sets the modem provisioning data directly, without contacting the
carrier over the air. Some modems will reboot after this call is made.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_cdma_activate_manual"/>
<arg name="properties" type="a{sv}" direction="in">
<tp:docstring>
A dictionary of properties to set on the modem. Keys include 'mdn', 'min'
</tp:docstring>
</arg>
</method>
<!-- SIGNALS -->
<signal name="ActivationStateChanged">
<tp:docstring>
The device activation state changed.
</tp:docstring>
<arg name="activation_state" type="u" tp:type="MM_MODEM_CDMA_ACTIVATION_STATE">
<tp:docstring>Current activation state</tp:docstring>
</arg>
<arg name="activation_error" type="u" tp:type="MM_MODEM_CDMA_ACTIVATION_ERROR">
<tp:docstring>Carrier-specific error code</tp:docstring>
</arg>
<arg name="status_changes" type="a{sv}">
<tp:docstring>
Selected Modem.Simple.GetStatus keys that have changed as a result of
this activation state change. Will include 'mdn' and 'min'.
</tp:docstring>
</arg>
</signal>
<!-- PROPERTIES -->
<property name="Meid" type="s" access="read">
<tp:docstring>
The modem's Mobile Equipment Identifier.
</tp:docstring>
</property>
<property name="Esn" type="s" access="read">
<tp:docstring>
The modem's Electronic Serial Number (superceded by the MEID but still
used by older devices).
</tp:docstring>
</property>
<property name="Sid" type="u" access="read">
<tp:docstring>
The System Identifier of the serving CDMA 1x network, if known, and
if the modem is registered with a CDMA 1x network. See ifast.org or
the mobile broadband provider database for mappings of SIDs to network
providers.
</tp:docstring>
</property>
<property name="Nid" type="u" access="read">
<tp:docstring>
The Network Identifier of the serving CDMA 1x network, if known, and
if the modem is registered with a CDMA 1x network.
</tp:docstring>
</property>
<property name="Cdma1xRegState" type="u" access="read" tp:type="MM_MODEM_CDMA_REGISTRATION_STATE">
<tp:docstring>CDMA 1x registration state.</tp:docstring>
</property>
<property name="EvdoRegState" type="u" access="read" tp:type="MM_MODEM_CDMA_REGISTRATION_STATE">
<tp:docstring>EVDO registration state.</tp:docstring>
</property>
<!-- ENUMS -->
<tp:enum name="MM_MODEM_CDMA_REGISTRATION_STATE" type="u">
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>Registration status is unknown or the device is not registered.</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="REGISTERED" value="1">
<tp:docstring>Registered, but roaming status is unknown or cannot be provided by the device. The device may or may not be roaming.</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="HOME" value="2">
<tp:docstring>Currently registered on the home network.</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ROAMING" value="3">
<tp:docstring>Currently registered on a roaming network.</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="MM_MODEM_CDMA_ACTIVATION_STATE" type="u">
<tp:enumvalue suffix="NOT_ACTIVATED" value="0">
<tp:docstring>Device is not activated</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ACTIVATING" value="1">
<tp:docstring>Device is activating</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="PARTIALLY_ACTIVATED" value="2">
<tp:docstring>Device is partially activated; carrier-specific steps required to continue.</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ACTIVATED" value="3">
<tp:docstring>Device is ready for use.</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="MM_MODEM_CDMA_ACTIVATION_ERROR" type="u">
<tp:enumvalue suffix="NO_ERROR" value="0"/>
<tp:enumvalue suffix="ROAMING" value="1">
<tp:docstring>
Device cannot activate while roaming.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="WRONG_RADIO_INTERFACE" value="2">
<tp:docstring>
Device cannot activate on this network type (eg EVDO vs 1xRTT).
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="COULD_NOT_CONNECT" value="3">
<tp:docstring>
Device could not connect to the network for activation.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="SECURITY_AUTHENTICATION_FAILED" value="4">
<tp:docstring>
Device could not authenticate to the network for activation.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="PROVISIONING_FAILED" value="5">
<tp:docstring>
Later stages of device provisioning failed.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="NO_SIGNAL" value="6">
<tp:docstring>
No signal available.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="UNKNOWN" value="7">
<tp:docstring>
An error occurred.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="TIMED_OUT" value="8">
<tp:docstring>
Activation timed out.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="START_FAILED" value="9">
<tp:docstring>
API call for initial activation failed.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
</interface>
</node>

View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.Contacts">
<method name="Add">
<tp:docstring>
Add a new contact.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_add"/>
<arg name="properties" type="a{sv}" direction="in">
<tp:docstring>
Dictionary of properties describing the contact. If any property
exceeds the modem's size limit, that property will be truncated to fit.
Known properties are:
name : (string) Full name of the contact
number : (string) Telephone number
email : (string) Email address
group : (string) Group this contact belongs to
name2 : (string) Additional contact name
number2 : (string) Additional contact telephone number
hidden : (bool) Whether this entry is hidden or not
storage : (uint) Phonebook in which contact is stored, one of
MM_MODEM_CONTACTS_STORAGE
</tp:docstring>
</arg>
<arg name="index" type="u" direction="out">
<tp:docstring>
The index number of the new contact; this number is an internal
private number to ModemManager and does not correspond to the index
of the contact in the modem or SIM itself.
</tp:docstring>
</arg>
</method>
<method name="Delete">
<tp:docstring>
Delete a contact.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_delete"/>
<arg name="index" type="u" direction="in">
<tp:docstring>
The index of the contact to delete.
</tp:docstring>
</arg>
</method>
<method name="Get">
<tp:docstring>
Retrieve a contact from the SIM card.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_get"/>
<arg name="index" type="u" direction="in">
<tp:docstring>
The index of the contact.
</tp:docstring>
</arg>
<arg name="properties" type="a{sv}" direction="out">
<tp:docstring>
The properties of the contact including those properties defined by
the Add method.
</tp:docstring>
</arg>
</method>
<method name="List">
<tp:docstring>
List all contacts.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_list"/>
<arg name="results" type="aa{sv}" direction="out">
<tp:docstring>
An array of dictionaries, each dictionary representing a contact.
</tp:docstring>
</arg>
</method>
<method name="Find">
<tp:docstring>
Find a contact from the SIM card.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_find"/>
<arg name="pattern" type="s" direction="in">
<tp:docstring>
The pattern to search for.
</tp:docstring>
</arg>
<arg name="results" type="aa{sv}" direction="out">
<tp:docstring>
An array of dictionaries, each dictionary representing a contact which
matches the query pattern.
</tp:docstring>
</arg>
</method>
<method name="GetCount">
<tp:docstring>
Get the number of contacts stored on the SIM card.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_contacts_count"/>
<arg name="count" type="u" direction="out">
<tp:docstring>
The number of contacts.
</tp:docstring>
</arg>
</method>
<!-- ENUMS -->
<tp:enum name="MM_MODEM_CONTACTS_STORAGE" type="u">
<tp:docstring>
Specifies different storage locations for contact information.
</tp:docstring>
<tp:enumvalue suffix="ME" value="0">
<tp:docstring>
Store information in device's local memory.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="SM" value="1">
<tp:docstring>
Store information in a card inserted in the device (like a SIM/RUIM).
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="MT" value="2">
<tp:docstring>
Store information in the combined device/ME and SIM/SM phonebook.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
</interface>
</node>

View File

@@ -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.ModemManager1.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 (&lt;CR&gt;&lt;LF&gt;) 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 &lt;CR&gt;&lt;LF&gt; is replaced with the actual
ASCII CR (0x0D) and LF (0x0A) control characters):
<pre>
$GPRMC,134523.92,V,,,,,,,030136,,,N*73&lt;CR&gt;&lt;LF&gt;$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&lt;CR&gt;&lt;LF&gt;$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&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45&lt;CR&gt;&lt;LF&gt;$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="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>

View File

@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem.Simple">
<!-- METHODS -->
<method name="Connect">
<tp:docstring>
Do everything needed to connect the modem using the given properties.
This method will attempt to find a matching packet data bearer and
activate it if necessary, returning the bearer's IP details. If no
matching bearer is found, a new bearer will be created and activated,
but this operation may fail if no resources are available to complete
this connection attempt (ie, if a conflicting bearer is already active).
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_simple_connect"/>
<arg name="properties" type="a{sv}" direction="in">
<tp:docstring>
Dictionary of properties needed to get the modem connected. This
call may make a large number of changes to modem configuration based
on properties passed in. For example, given a PIN-locked, disabled
GSM/UMTS modem, this call may unlock the SIM PIN, alter the access
technology preference, wait for network registration (or force
registration to a specific provider), create a new packet data bearer
using the given 'apn', and connect that bearer.
'pin' : (string) SIM-PIN unlock code
'network-id' : (string) ETSI MCC-MNC of a network to force registration with
'band' : (uint) Bitfield of radio bands the modem may use
'allowed-mode' : (uint) Allowed network technology preference (ie, 2G/3G, etc)
'apn' : (string) For GSM/UMTS and LTE devices the APN to use
'ip-type' : (string) For GSM/UMTS and LTE devices the IP addressing
type to use, one of "IPV4", "IPV4V6", or "IPV6"
'number' : (string) For POTS devices, the number to dial
'home_only' : (uint) 1 to allow only connections to home networks
</tp:docstring>
</arg>
<arg name="bearer" type="o" direction="out">
<tp:docstring>
On successful connect, returns the object path of the connected
packet data bearer used for the connection attempt.
</tp:docstring>
</arg>
<arg name="interface" type="s" direction="out">
<tp:docstring>
The operating system name for the network data interface that provides
packet data using this bearer. Connection managers must configure this
interface using the given IP configuration returned by bearer activation.
</tp:docstring>
</arg>
<arg name="ip4config" type="a{sv}" direction="out">
<tp:docstring>
If the bearer was configured for IPv4 addressing, upon successful
connect this argument contains the addressing details for assignment
to the data interface. If the bearer specifies configuration via PPP
or DHCP, only the 'method' item will be present. See the description
of the property of this name in the
org.freedesktop.ModemManager1.Modem.Bearer interface.
</tp:docstring>
</arg>
<arg name="ip6config" type="a{sv}" direction="out">
<tp:docstring>
If the bearer was configured for IPv6 addressing, upon successful
connect this argument contains the addressing details for assignment
to the data interface. If the bearer specifies configuration via PPP
or DHCP, only the 'method' item will be present. See the description
of the property of this name in the
org.freedesktop.ModemManager1.Modem.Bearer interface.
</tp:docstring>
</arg>
</method>
<method name="Disconnect">
<tp:docstring>
Disconnect an active packet data connection.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_simple_disconnect"/>
<arg name="bearer" type="o" direction="in">
<tp:docstring>
If given this method will disconnect the referenced packet data bearer,
while if "/" (ie, no object given) this method will disconnect all
active packet data bearers.
</tp:docstring>
</arg>
</method>
<method name="GetStatus">
<!-- FIXME: either convert this to properties (which duplicate properties
of the base modem object already) or expand the returned property
list to include "registration" and add a StatusChanged signal so
clients can monitor changes without having to poll.
-->
<tp:docstring>
Get the modem status.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_simple_get_status"/>
<arg name="properties" type="a{sv}" direction="out">
<tp:docstring>
Dictionary of properties. The predefined common properties are:
'state' : (uint, always) Modem state
'signal-quality' : (uint, state >= registered)
'operator-code' : (string, state >= registered) Operator MCC-MNC
'operator-name' : (string, state >= registered)
'band' : (uint, state >= registered)
'access-technology' : (uint, state >= registered) See MM_MODEM_ACCESS_TECH
</tp:docstring>
</arg>
</method>
</interface>
</node>

View File

@@ -0,0 +1,601 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Modem">
<!-- METHODS -->
<method name="Enable">
<tp:docstring>
Enable or disables the modem. When enabled, the modem's radio is powered
on and data sessions, voice calls, location services, and Short Message
Service may be available. When disabled, the modem enters low-power
state and no network-related operations are available.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_enable"/>
<arg name="enable" type="b" direction="in">
<tp:docstring>
Pass True to enable the modem, or False to disable it.
</tp:docstring>
</arg>
</method>
<method name="ListBearers">
<tp:docstring>
List configured packet data bearers (EPS Bearers, PDP Contexts, or
CDMA2000 Packet Data Sessions).
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_list_bearers"/>
<arg name="bearers" type="ao" direction="out">
<tp:docstring>
The list of bearer object paths.
</tp:docstring>
</arg>
</method>
<method name="CreateBearer">
<tp:docstring>
Create a new packet data bearer using the given characteristics. This
request may fail if the modem does not support additional bearers, if
too many bearers are already defined, or if properties are invalid.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_create_bearer"/>
<arg name="properties" type="a{sv}" direction="in">
<tp:docstring>
List of properties to assign to the bearer after creating it. Some
properties are only applicable to a bearer of certain access
technologies, for example the "apn" property is not applicable to
CDMA2000 Packet Data Session bearers. Allowed properties are:
apn : (3GPP, required) Access Point Name
ip-type : (3GPP and CMDA, optional) Addressing type, one of
"IPV4", "IPV4V6", or "IPV6"
user : (3GPP, optional) user name (if any) required by the network
password : (3GPP, optional) password (if any) required by the network
number : (POTS, required) telphone number to dial
** FIXME: how about QoS?
</tp:docstring>
</arg>
</method>
<method name="DeleteBearer">
<tp:docstring>
Delete an existing packet data bearer.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_delete_bearer"/>
<arg name="bearer" type="o" direction="in">
<tp:docstring>
Object path of the bearer to delete. If the bearer is currently
active and providing packet data server, it will be disconnected
and that packet data service will terminate.
</tp:docstring>
</arg>
</method>
<method name="GetInfo">
<tp:docstring>
Retrieve modem information, like the manufacturer, hardware version,
firmware version, etc.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_get_info"/>
<arg name="info" type="a{sv}" direction="out">
<tp:docstring>
Dictionary containing various information about the modem, including
zero or more of the following items:
manufacturer : (string)
model : (string)
version/revision : (string)
</tp:docstring>
</arg>
</method>
<method name="Reset">
<tp:docstring>
Clear non-persistent configuration and state, and return the device to
a newly-powered-on state. This command may power-cycle the device.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_modem_reset"/>
</method>
<method name="FactoryReset">
<tp:docstring>
Clear the modem's configuration (including persistent configuration and
state), and return the device to a factory-default state. This command
may or may not power-cycle the device.
</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>
<!-- SIGNALS -->
<signal name="StateChanged">
<tp:docstring>
The modem's state (see the State property) changed.
</tp:docstring>
<arg name="old" type="u">
<tp:docstring>Old state</tp:docstring>
</arg>
<arg name="new" type="u">
<tp:docstring>New state</tp:docstring>
</arg>
<arg name="reason" type="u" tp:type="MM_MODEM_STATE_CHANGED_REASON">
<tp:docstring>Reason for this state change</tp:docstring>
</arg>
</signal>
<!-- PROPERTIES -->
<property name="ModemCapabilities" type="u" access="read" tp:type="MM_MODEM_CAPABILITIES">
<tp:docstring>
The generic family of access technologies the modem supports. Not all
capabilities are available at the same time however; some modems require
a firmware reload or other reinitialization to switch between eg CDMA/EVDO
and GSM/UMTS.
</tp:docstring>
</property>
<property name="CurrentCapabilities" type="u" access="read" tp:type="MM_MODEM_CAPABILITIES">
<tp:docstring>
The generic family of access technologies the modem currently supports
without a firmware reload or reinitialization.
</tp:docstring>
</property>
<property name="MaxBearers" type="u" access="read">
<tp:docstring>
The maximum number of defined packet data bearers the modem supports.
This is not the number of active/connected bearers the modem supports,
but simply the number of bearers that may be defined at any given time.
For example, POTS and CDMA2000-only devices support only one bearer,
while GSM/UMTS devices typically support three or more, and any
LTE-capable device (whether LTE-only, GSM/UMTS-capable, and/or
CDMA2000-capable) also typically support three or more.
</tp:docstring>
</property>
<property name="MaxActiveBearers" type="u" access="read">
<tp:docstring>
The maximum number of active packet data bearers the modem supports.
POTS and CDMA2000-only devices support one active bearer, while
GSM/UMTS and LTE-capable devices (including LTE/CDMA devices) typically
support at least two active bearers.
</tp:docstring>
</property>
<property name="DeviceIdentifier" type="s" access="read">
<tp:docstring>
A best-effort device identifier based on various device information like
model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
This ID is not guaranteed to be unique and may be shared between
identical devices with the same firmware, but is intended to be
"unique enough" for use as a casual device identifier for various
user experience operations. This is not the device's IMEI or ESN since
those may not be available before unlocking the device via a PIN.
</tp:docstring>
</property>
<property name="Device" type="s" access="read">
<tp:docstring>
The physical modem device reference (ie, USB, PCI, PCMCIA device), which
may be dependent upon the operating system. In Linux for example, this
points to a sysfs path of the usb_device object.
</tp:docstring>
</property>
<property name="Driver" type="s" access="read">
<tp:docstring>
The Operating System device driver handling communication with the
modem hardware.
</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="State" type="u" access="read" tp:type="MM_MODEM_STATE">
<tp:docstring>
Overall state of the modem.
</tp:docstring>
</property>
<property name="AccessTechnology" type="u" access="read" tp:type="MM_MODEM_ACCESS_TECH">
<tp:docstring>
The current network access technology used by the device to communicate
with the network. (Note to plugin writers: if the device's access
technology cannot be determined, use UNKNOWN)
</tp:docstring>
</property>
<property name="SignalQuality" type="u" access="read">
<tp:docstring>
Signal quality in percent (0 - 100) of the dominant access technology
the device is using to communicate with the network. Always 0 for POTS
devices.
</tp:docstring>
</property>
<property name="AllowedMode" type="u" access="readwrite" tp:type="MM_MODEM_ALLOWED_MODE">
<tp:docstring>
The allowed access technologies (eg 2G/3G/4G preference) the device is
allowed to use when connecting to a network. For POTS devices, only
the "any" mode is supported.
</tp:docstring>
</property>
<property name="SupportedModes" type="u" access="read" tp:type="MM_MODEM_ALLOWED_MODE">
<tp:docstring>
Access technology selection modes supported by the device.
</tp:docstring>
</property>
<property name="AllowedBands" type="t" access="readwrite" tp:type="MM_MODEM_BAND">
<tp:docstring>
The allowed radio frequency and technology bands the device may use when
allowed to use when connecting to a network. For POTS devices, only
the "any" mode is supported.
</tp:docstring>
</property>
<property name="SupportedBands" type="t" access="read" tp:type="MM_MODEM_BAND">
<tp:docstring>
Radio frequency and technology bands supported by the device.
</tp:docstring>
</property>
<!-- ENUMS -->
<tp:flags name="MM_MODEM_CAPABILITIES" value-prefix="MM_MODEM_CAPABILITY" type="u">
<tp:docstring>
Flags describing one or more of the general access technology families
that a modem supports.
</tp:docstring>
<tp:flag suffix="NONE" value="0x0">
<tp:docstring>Modem has no capabilties.</tp:docstring>
</tp:flag>
<tp:flag suffix="POTS" value="0x1">
<tp:docstring>
Modem supports the analog wired telephone network (ie 56k dialup) and
does not have wireless/cellular capabilities.
</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_EVDO" value="0x2">
<tp:docstring>
Modem supports at least one of CDMA 1xRTT, EVDO revision 0, EVDO
revision A, or EVDO revision B.
</tp:docstring>
</tp:flag>
<tp:flag suffix="GSM_UMTS" value="0x4">
<tp:docstring>
Modem supports at least one of GSM, GPRS, EDGE, UMTS, HSDPA, HSUPA, or
HSPA+ packet switched data capability.
</tp:docstring>
</tp:flag>
<tp:flag suffix="LTE" value="0x8">
<tp:docstring>
Modem has at LTE data capability.
</tp:docstring>
</tp:flag>
</tp:flags>
<tp:enum name="MM_MODEM_STATE" type="u">
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>
State unknown or not reportable.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DISABLED" value="10">
<tp:docstring>
The modem is not enabled and is powered down.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DISABLING" value="20">
<tp:docstring>
The modem is current transitioning to the DISABLED state.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ENABLING" value="30">
<tp:docstring>
The modem is currently transitioning to the ENABLED state.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="ENABLED" value="40">
<tp:docstring>
The modem is enabled and powered on but not registered with a network
provider and not available for data connections.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="SEARCHING" value="50">
<tp:docstring>
The modem is searching for a network provider to register with.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="REGISTERED" value="60">
<tp:docstring>
The modem is registered with a network provider, and data connections
and messaging may be available for use.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="DISCONNECTING" value="70">
<tp:docstring>
The modem is disconnecting and deactivating the last active packet
data bearer. This state will not be entered if more than one packet
data bearer is active and one of the active bearers is deactivated.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTING" value="80">
<tp:docstring>
The modem is activating and connecting the first packet data bearer.
Subsequent bearer activations when another bearer is already active
do not cause this state to be entered.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="CONNECTED" value="90">
<tp:docstring>
One or more packet data bearers is active and connected.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="MM_MODEM_STATE_CHANGED_REASON" type="u">
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>
Reason unknown or not reportable.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="USER_REQUESTED" value="1">
<tp:docstring>
State change was requested by an interface user.
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="SUSPEND" value="2">
<tp:docstring>
State change was caused by a system suspend.
</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="MM_MODEM_ACCESS_TECH" type="u">
<tp:docstring>
Describes various access technologies that a device uses when registered
with or connected to a network.
</tp:docstring>
<tp:enumvalue suffix="UNKNOWN" value="0">
<tp:docstring>The access technology used is unknown</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="POTS" value="1">
<tp:docstring>Analog wireline telephone</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="GSM" value="2">
<tp:docstring>GSM</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="GSM_COMPACT" value="3">
<tp:docstring>Compact GSM</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="GPRS" value="4">
<tp:docstring>GPRS</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="EDGE" value="5">
<tp:docstring>EDGE (ETSI 27.007: "GSM w/EGPRS")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="UMTS" value="6">
<tp:docstring>UMTS (ETSI 27.007: "UTRAN")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="HSDPA" value="7">
<tp:docstring>HSDPA (ETSI 27.007: "UTRAN w/HSDPA")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="HSUPA" value="8">
<tp:docstring>HSUPA (ETSI 27.007: "UTRAN w/HSUPA")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="HSPA" value="9">
<tp:docstring>HSPA (ETSI 27.007: "UTRAN w/HSDPA and HSUPA")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="HSPA_PLUS" value="10">
<tp:docstring>HSPA+ (ETSI 27.007: "UTRAN w/HSPA+")</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="1XRTT" value="11">
<tp:docstring>CDMA2000 1xRTT</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="EVDO0" value="12">
<tp:docstring>CDMA2000 EVDO revision 0</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="EVDOA" value="13">
<tp:docstring>CDMA2000 EVDO revision A</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="EVDOB" value="14">
<tp:docstring>CDMA2000 EVDO revision B</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="LTE" value="15">
<tp:docstring>LTE (ETSI 27.007: "E-UTRAN")</tp:docstring>
</tp:enumvalue>
</tp:enum>
<tp:enum name="MM_MODEM_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 network. Also used as a bitfield to indicate which allowed modes
the modem supports when setting the mode preference.
</tp:docstring>
<tp:enumvalue suffix="ANY" value="0x0000">
<tp:docstring>
Any mode can be used (only this value allowed for POTS modems)
</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="2G_PREFERRED" value="0x0001">
<tp:docstring>Prefer 2G (GPRS or EDGE)</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="3G_PREFERRED" value="0x0002">
<tp:docstring>Prefer 3G (UMTS or HSxPA)</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="4G_PREFERRED" value="0x0004">
<tp:docstring>Prefer 4G (LTE)</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="2G_ONLY" value="0x0100">
<tp:docstring>Use only 2G (GPRS or EDGE)</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="3G_ONLY" value="0x0200">
<tp:docstring>Use only 3G (UMTS or HSxPA)</tp:docstring>
</tp:enumvalue>
<tp:enumvalue suffix="4G_ONLY" value="0x0400">
<tp:docstring>Use only 4G (LTE)</tp:docstring>
</tp:enumvalue>
<!-- FIXME: what about 3G/4G only? or 2G/3G only? Should this be a
bitfield? If so, do we need to indicate what combinations the
modem supports?
-->
</tp:enum>
<tp:flags name="MM_MODEM_BAND" value-prefix="MM_MODEM_BAND" type="u">
<tp:docstring>
A 64-bit wide 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>
</tp:flag>
<tp:flag suffix="ANY" value="0x1">
<tp:docstring>For certain operations, allow the modem to select a band automatically.</tp:docstring>
</tp:flag>
<!-- GSM/UMTS/3GPP bands -->
<tp:flag suffix="EGSM" value="0x2">
<tp:docstring>GSM/GPRS/EDGE 900 MHz</tp:docstring>
</tp:flag>
<tp:flag suffix="DCS" value="0x4">
<tp:docstring>GSM/GPRS/EDGE 1800 MHz</tp:docstring>
</tp:flag>
<tp:flag suffix="PCS" value="0x8">
<tp:docstring>GSM/GPRS/EDGE 1900 MHz</tp:docstring>
</tp:flag>
<tp:flag suffix="G850" value="0x10">
<tp:docstring>GSM/GPRS/EDGE 850 MHz</tp:docstring>
</tp:flag>
<tp:flag suffix="U2100" value="0x20">
<tp:docstring>WCDMA 2100 MHz (Class I)</tp:docstring>
</tp:flag>
<tp:flag suffix="U1800" value="0x40">
<tp:docstring>WCDMA 3GPP 1800 MHz (Class III)</tp:docstring>
</tp:flag>
<tp:flag suffix="U17IV" value="0x80">
<tp:docstring>WCDMA 3GPP AWS 1700/2100 MHz (Class IV)</tp:docstring>
</tp:flag>
<tp:flag suffix="U800" value="0x100">
<tp:docstring>WCDMA 3GPP UMTS 800 MHz (Class VI)</tp:docstring>
</tp:flag>
<tp:flag suffix="U850" value="0x200">
<tp:docstring>WCDMA 3GPP UMTS 850 MHz (Class V)</tp:docstring>
</tp:flag>
<tp:flag suffix="U900" value="0x400">
<tp:docstring>WCDMA 3GPP UMTS 900 MHz (Class VIII)</tp:docstring>
</tp:flag>
<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:flag suffix="U2600" value="0x2000">
<tp:docstring>WCDMA 3GPP UMTS 2600 MHz (Class VII, internal)</tp:docstring>
</tp:flag>
<!-- CDMA Band Classes (see 3GPP2 C.S0057-C) -->
<tp:flag suffix="CDMA_BC0_CELLULAR_800" value="0x0000000100000000">
<tp:docstring>CDMA Band Class 0 (US Cellular 850MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC1_PCS_1900" value="0x0000000200000000">
<tp:docstring>CDMA Band Class 1 (US PCS 1900MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC2_TACS" value="0x0000000400000000">
<tp:docstring>CDMA Band Class 2 (UK TACS 900MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC3_JTACS" value="0x0000000800000000">
<tp:docstring>CDMA Band Class 3 (Japanese TACS)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC4_KOREAN_PCS" value="0x0000001000000000">
<tp:docstring>CDMA Band Class 4 (Korean PCS)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC5_NMT450" value="0x0000002000000000">
<tp:docstring>CDMA Band Class 5 (NMT 450MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC6_IMT2000" value="0x0000004000000000">
<tp:docstring>CDMA Band Class 6 (IMT2000 2100MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC7_CELLULAR_700" value="0x0000008000000000">
<tp:docstring>CDMA Band Class 7 (Cellular 700MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC8_1800" value="0x0000010000000000">
<tp:docstring>CDMA Band Class 8 (1800MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC9_900" value="0x0000020000000000">
<tp:docstring>CDMA Band Class 9 (900MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC10_SECONDARY_800" value="0x0000040000000000">
<tp:docstring>CDMA Band Class 10 (US Secondary 800)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC11_PAMR_400" value="0x0000080000000000">
<tp:docstring>CDMA Band Class 11 (European PAMR 400MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC12_PAMR_800" value="0x0000100000000000">
<tp:docstring>CDMA Band Class 12 (PAMR 800MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC13_IMT2000_2500" value="0x0000200000000000">
<tp:docstring>CDMA Band Class 13 (IMT2000 2500MHz Expansion)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC14_PCS2_1900" value="0x0000400000000000">
<tp:docstring>CDMA Band Class 14 (More US PCS 1900MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC15_AWS" value="0x0000800000000000">
<tp:docstring>CDMA Band Class 15 (AWS 1700MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC16_US_2500" value="0x0001000000000000">
<tp:docstring>CDMA Band Class 16 (US 2500MHz)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC17_US_FLO_2500" value="0x0002000000000000">
<tp:docstring>CDMA Band Class 17 (US 2500MHz Forward Link Only)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC18_US_PS_700" value="0x0004000000000000">
<tp:docstring>CDMA Band Class 18 (US 700MHz Public Safety)</tp:docstring>
</tp:flag>
<tp:flag suffix="CDMA_BC19_US_LOWER_700" value="0x0008000000000000">
<tp:docstring>CDMA Band Class 19 (US Lower 700MHz)</tp:docstring>
</tp:flag>
</tp:flags>
</interface>
</node>

View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1.Sim">
<tp:docstring>
Handles communication with SIM, USIM, and RUIM (CDMA SIM) cards.
</tp:docstring>
<method name="GetImsi">
<tp:docstring>
Get the IMSI of the SIM card.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_sim_get_imsi"/>
<arg name="imsi" type="s" direction="out">
<tp:docstring>
The IMSI.
</tp:docstring>
</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_sim_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.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_sim_send_puk"/>
<arg name="puk" type="s" direction="in">
<tp:docstring>
The PUK code.
</tp:docstring>
</arg>
<arg name="pin" type="s" direction="in">
<tp:docstring>
The PIN code.
</tp:docstring>
</arg>
</method>
<method name="SendPin">
<tp:docstring>
Send the PIN to unlock the SIM card.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_sim_send_pin"/>
<arg name="pin" type="s" direction="in">
<tp:docstring>
The PIN code.
</tp:docstring>
</arg>
</method>
<method name="EnablePin">
<tp:docstring>
Enable or disable the PIN checking.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_sim_enable_pin"/>
<arg name="pin" type="s" direction="in">
<tp:docstring>
The PIN code.
</tp:docstring>
</arg>
<arg name="enabled" type="b" direction="in">
<tp:docstring>
True to enable PIN checking.
</tp:docstring>
</arg>
</method>
<method name="ChangePin">
<tp:docstring>
Change the PIN code.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_sim_change_pin"/>
<arg name="old_pin" type="s" direction="in">
<tp:docstring>
The current PIN code.
</tp:docstring>
</arg>
<arg name="new_pin" type="s" direction="in">
<tp:docstring>
The new PIN code.
</tp:docstring>
</arg>
</method>
<property name="SimIdentifier" type="s" access="read">
<tp:docstring>
An obfuscated SIM identifier based on the IMSI or the ICCID. This may
be available before the PIN has been entered depending on the device
itself.
</tp:docstring>
</property>
</interface>
</node>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" ?>
<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
<interface name="org.freedesktop.ModemManager1">
<!-- METHODS -->
<method name="GetDevices">
<tp:docstring>
Get the list of modems known to ModemManager.
</tp:docstring>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_manager_get_devices"/>
<arg name="devices" type="ao" direction="out">
<tp:docstring>
List of object paths of modem devices known to the system.
</tp:docstring>
</arg>
</method>
<signal name="ModemAdded">
<tp:docstring>
A modem was added to the system.
</tp:docstring>
<arg name="device" type="o">
<tp:docstring>
The object path of the newly added modem.
</tp:docstring>
</arg>
</signal>
<signal name="ModemRemoved">
<tp:docstring>
A modem was removed from the system, and is no longer available.
</tp:docstring>
<arg name="device" type="o">
<tp:docstring>
The object path of the modem that was just removed.
</tp:docstring>
</arg>
</signal>
<!-- PROPERTIES -->
<property name="Modems" type="ao" access="read">
<tp:docstring>
Array of object paths of all modems known to ModemManager.
</tp:docstring>
</property>
</interface>
</node>