<?xml version="1.0" encoding="UTF-8" ?>

<!--
 ModemManager 1.0 Interface Specification

   Copyright (C) 2008 Novell, Inc.
   Copyright (C) 2008-2013 Red Hat, Inc.
   Copyright (C) 2011-2013 Google, Inc.
   Copyright (C) 2011-2013 Lanedo GmbH
-->

<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">

  <!--
      org.freedesktop.ModemManager1.Modem.ModemCdma:
      @short_description: The ModemManager CDMA interface.

      This interface provides access to specific actions that may be performed
      in modems with CDMA capabilities.
  -->
  <interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">

    <!--
        Activate:
        @carrier_code: Name of carrier, or carrier-specific code.

        Provisions the modem for use with a given carrier using the modem's
        <ulink url="http://en.wikipedia.org/wiki/Over-the-air_programming">Over-The-Air (OTA)</ulink>
        activation functionality, if any.

        Some modems will reboot after this call is made.
    -->
    <method name="Activate">
      <arg name="carrier_code" type="s" direction="in" />
    </method>

    <!--
        ActivateManual:
        @properties: A dictionary of properties to set on the modem, including <literal>"mdn"</literal> and <literal>"min"</literal>.

        Sets the modem provisioning data directly, without contacting the
        carrier over the air.

        Some modems will reboot after this call is made.
    -->
    <method name="ActivateManual">
      <arg name="properties" type="a{sv}" direction="in" />
    </method>

    <!--
        ActivationStateChanged:
        @activation_state: Current activation state, given as a <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>.
        @activation_error: Carrier-specific error code, given as a <link linkend="MMCdmaActivationError">MMCdmaActivationError</link>.
        @status_changes: Properties that have changed as a result of this activation state chage, including <literal>"mdn"</literal> and <literal>"min"</literal>. The dictionary may be empty if the changed properties are unknown.

        The device activation state changed.
    -->
    <signal name="ActivationStateChanged">
      <arg name="activation_state" type="u"     />
      <arg name="activation_error" type="u"     />
      <arg name="status_changes"   type="a{sv}" />
    </signal>

    <!--
        ActivationState:

        A <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>
        value specifying the state of the activation in the 3GPP2 network.
    -->
    <property name="ActivationState" type="u" access="read" />

    <!--
        Meid:

        The modem's <ulink url="http://en.wikipedia.org/wiki/MEID">Mobile Equipment Identifier</ulink>.
    -->
    <property name="Meid" type="s" access="read" />


    <!--
        Esn:

        The modem's
        <ulink url="http://en.wikipedia.org/wiki/Electronic_serial_number">Electronic Serial Number</ulink>
        (superceded by MEID but still used by older devices).
    -->
    <property name="Esn" type="s" access="read" />

    <!--
        Sid:

        The
        <ulink url="http://en.wikipedia.org/wiki/System_Identification_Number">System Identifier</ulink>
        of the serving CDMA 1x network, if known, and
        if the modem is registered with a CDMA 1x network.

        See <ulink url="http://ifast.org">ifast.org</ulink> or the mobile
        broadband provider database for mappings of SIDs to network providers.
    -->
    <property name="Sid" type="u" access="read" />

    <!--
        Nid:

        The
        <ulink url="http://en.wikipedia.org/wiki/Network_Identification_Number">Network Identifier</ulink>
        of the serving CDMA 1x network, if known, and
        if the modem is registered with a CDMA 1x network.
    -->
    <property name="Nid" type="u" access="read" />

    <!--
        Cdma1xRegistrationState:

        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
        value specifying the CDMA 1x registration state.
    -->
    <property name="Cdma1xRegistrationState" type="u" access="read" />

    <!--
        EvdoRegistrationState:

        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
        value specifying the EVDO registration state.
    -->
    <property name="EvdoRegistrationState" type="u" access="read" />

  </interface>
</node>
