aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--new/mm-mobile-error.xml318
-rw-r--r--new/mm-modem-connect-error.xml30
-rw-r--r--new/mm-modem-error.xml36
-rw-r--r--new/mm-serial-error.xml24
-rw-r--r--new/org.freedesktop.DBus.Properties.xml45
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml84
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.3gpp.xml140
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.Bearer.xml137
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.Cdma.xml184
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.Contacts.xml139
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.Location.xml253
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.Simple.xml116
-rw-r--r--new/org.freedesktop.ModemManager1.Modem.xml601
-rw-r--r--new/org.freedesktop.ModemManager1.Sim.xml113
-rw-r--r--new/org.freedesktop.ModemManager1.xml51
15 files changed, 2271 insertions, 0 deletions
diff --git a/new/mm-mobile-error.xml b/new/mm-mobile-error.xml
new file mode 100644
index 00000000..5edbcb76
--- /dev/null
+++ b/new/mm-mobile-error.xml
@@ -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>
diff --git a/new/mm-modem-connect-error.xml b/new/mm-modem-connect-error.xml
new file mode 100644
index 00000000..b983702e
--- /dev/null
+++ b/new/mm-modem-connect-error.xml
@@ -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>
diff --git a/new/mm-modem-error.xml b/new/mm-modem-error.xml
new file mode 100644
index 00000000..200e093a
--- /dev/null
+++ b/new/mm-modem-error.xml
@@ -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>
diff --git a/new/mm-serial-error.xml b/new/mm-serial-error.xml
new file mode 100644
index 00000000..338a2232
--- /dev/null
+++ b/new/mm-serial-error.xml
@@ -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>
diff --git a/new/org.freedesktop.DBus.Properties.xml b/new/org.freedesktop.DBus.Properties.xml
new file mode 100644
index 00000000..b2d09236
--- /dev/null
+++ b/new/org.freedesktop.DBus.Properties.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml b/new/org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml
new file mode 100644
index 00000000..96d322d1
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.3gpp.xml b/new/org.freedesktop.ModemManager1.Modem.3gpp.xml
new file mode 100644
index 00000000..4c8609f8
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.3gpp.xml
@@ -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>
+
diff --git a/new/org.freedesktop.ModemManager1.Modem.Bearer.xml b/new/org.freedesktop.ModemManager1.Modem.Bearer.xml
new file mode 100644
index 00000000..180641d8
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.Bearer.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.Cdma.xml b/new/org.freedesktop.ModemManager1.Modem.Cdma.xml
new file mode 100644
index 00000000..730a3c98
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.Cdma.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.Contacts.xml b/new/org.freedesktop.ModemManager1.Modem.Contacts.xml
new file mode 100644
index 00000000..7ddab3c4
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.Contacts.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.Location.xml b/new/org.freedesktop.ModemManager1.Modem.Location.xml
new file mode 100644
index 00000000..7a5908fa
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.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.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>
+
diff --git a/new/org.freedesktop.ModemManager1.Modem.Simple.xml b/new/org.freedesktop.ModemManager1.Modem.Simple.xml
new file mode 100644
index 00000000..20af2934
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.Simple.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Modem.xml b/new/org.freedesktop.ModemManager1.Modem.xml
new file mode 100644
index 00000000..32a6a93f
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Modem.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.Sim.xml b/new/org.freedesktop.ModemManager1.Sim.xml
new file mode 100644
index 00000000..14c34aea
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.Sim.xml
@@ -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>
diff --git a/new/org.freedesktop.ModemManager1.xml b/new/org.freedesktop.ModemManager1.xml
new file mode 100644
index 00000000..6ec05dad
--- /dev/null
+++ b/new/org.freedesktop.ModemManager1.xml
@@ -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>