diff options
author | Dan Williams <dcbw@redhat.com> | 2011-05-18 21:59:42 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2011-05-18 21:59:42 -0500 |
commit | 7c70ad55bb08b1d30c3600cf3075040bab09f4d1 (patch) | |
tree | 7a59be28d75db261a8e964cd747c67f1878fbef7 | |
parent | b3f0ca92335736e6ea66b8a9e4773e3837c20de8 (diff) |
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.
-rw-r--r-- | new/mm-mobile-error.xml | 318 | ||||
-rw-r--r-- | new/mm-modem-connect-error.xml | 30 | ||||
-rw-r--r-- | new/mm-modem-error.xml | 36 | ||||
-rw-r--r-- | new/mm-serial-error.xml | 24 | ||||
-rw-r--r-- | new/org.freedesktop.DBus.Properties.xml | 45 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml | 84 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 140 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.Bearer.xml | 137 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 184 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.Contacts.xml | 139 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.Location.xml | 253 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.Simple.xml | 116 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Modem.xml | 601 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.Sim.xml | 113 | ||||
-rw-r--r-- | new/org.freedesktop.ModemManager1.xml | 51 |
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 (<CR><LF>) sequence. + </p> + <p> + For example, if the device sends a $GPRMC sentence immediately + followed by a $GPGGA sentence, the reported location string would be + (where of course the <CR><LF> is replaced with the actual + ASCII CR (0x0D) and LF (0x0A) control characters): + <pre> + $GPRMC,134523.92,V,,,,,,,030136,,,N*73<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45 + </pre> + If the device sends a new $GPRMC three seconds later, the new $GPRMC + replaces the previously received $GPRMC sentence, and the updated + string would be: + <pre> + $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45 + </pre> + If the device then sends a $GPGSA sentence about 5 seconds later, the + $GPGSA sentence is added to the string (since no $GPGSA sentence was + previously received in this session), the updated string would be: + <pre> + $GPRMC,134526.92,V,,,,,,,030136,,,N*76<CR><LF>$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45<CR><LF>$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34 + </pre> + The manager may discard any cached sentences older than 30 seconds. + </p> + <p>This allows clients to read the latest positioning data as soon as + possible after they start, even if the device is not providing + frequent location data updates. + </p> + </tp:docstring> + </tp:flag> + <tp:flag suffix="GSM_LAC_CI" value="0x2"> + <tp:docstring> + <p>For capability reporting, indicates the device is capable of + providing GSM Location Area Code/Cell ID location information.</p> + + <p>For location reporting, devices supporting this + capability return a string in the format "MCC,MNC,LAC,CI" (without the + quotes of course) where the following applies:</p> + <ul> + <li> + MCC is the three-digit ITU E.212 Mobile Country Code of the + network provider to which the mobile is currently registered. + This value should be the same MCC as reported by the + org.freedesktop.Modem.Gsm.Network.GetRegistrationInfo() method's + returned "operator code" argument. + e.g. "310" + </li> + <li> + MNC is the two- or three-digit GSM Mobile Network Code of the + network provider to which the mobile is currently registered. + This value should be the same MCC as reported by the + org.freedesktop.Modem.Gsm.Network.GetRegistrationInfo() method's + returned "operator code" argument. + e.g. "26" or "260" + </li> + <li> + LAC is the two-byte Location Area Code of the base station with + which the mobile is registered, in upper-case hexadecimal format + without leading zeros, as specified in 3GPP TS 27.007 section + 10.1.19. e.g. "84CD". + </li> + <li> + CI is the two- or four-byte Cell Identifier with which the mobile + is registered, in upper-case hexadecimal format without leading + zeros, as specified in 3GPP TS 27.007. e.g. "2BAF" or "D30156". + </li> + </ul> + <p>The entire string may only be composed of the ASCII digits [0-9], + the alphabetical characters [A-F], and the comma (,) character. No + other characters are allowed. For example: "310,260,8BE3,2BAF" or + "250,40,CE00,1CEAD8F0".</p> + + <p>If any of these four items (MCC,MNC,LAC,CI) is unknown or the + mobile is not registered with a network, then the GSM_LAC_CI location + information item should not be provided as a returned value from the + GetLocation() method or in the Location property.</p> + </tp:docstring> + </tp:flag> + <tp:flag suffix="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> |