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

<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.chromium.ModemManager.Modem.Gobi">
    <tp:docstring>
      Gobi-specific features for use in test and debugging.  
    </tp:docstring>

    <method name="PowerCycle">
      <tp:docstring>
        Tells the modem to power cycle itself.
      </tp:docstring>
    </method>

    <method name="SetCarrier">
      <tp:docstring>
          Prepares the modem to use the given carrier. Modem will
          reset after this is called.
      </tp:docstring>
      <arg name="image" type="s" direction="in">
        <tp:docstring>
          Name of carrier.
        </tp:docstring>
      </arg>
    </method>

    <method name="SoftReset">
      <tp:docstring>
          Tells the module to do a soft reset and waits for the reset to complete.
      </tp:docstring>
    </method>

    <method name="RequestEvents">
      <tp:docstring>
        Requests notification (or not) of a particular event occuring. Multiple
        notifications may be enabled at the same time.
      </tp:docstring>
      <arg name="events" type="s" direction="in">
        <tp:docstring>
          A string describing which events are to be enabled or disabled. This
          string contains zero or more directives of the form '[+-]event', like
          '+foo-bar+baz'.
          Allowable events are currently:
            dormancy
            *, meaning all events
        </tp:docstring>
      </arg>
    </method>

    <method name="SetAutomaticTracking">
      <tp:docstring>
        Turn automatic tracking on and off
      </tp:docstring>
      <arg name="service_enable" type="b" direction="in">
        <tp:docstring>
          Value for service automatic tracking.
        </tp:docstring>
      </arg>
      <arg name="port_enable" type="b" direction="in">
        <tp:docstring>
          Value for port automatic tracking.
        </tp:docstring>
      </arg>
    </method>

    <method name="InjectFault">
      <tp:docstring>
        Tells the modem to power cycle itself.
      </tp:docstring>
      <arg name="type" type="s" direction="in">
        <tp:docstring>
          Type of fault to introduce, currently only QmiRequestError.
        </tp:docstring>
      </arg>
      <arg name="value" type="i" direction="in">
        <tp:docstring>
          Argument to that fault 
        </tp:docstring>
      </arg>
    </method>

    <signal name="DormancyStatus">
      <tp:docstring>
        Indicates that the dormancy status of the modem changed.
      </tp:docstring>
      <arg name="dormant" type="b">
        <tp:docstring>
          True if the modem is dormant; false otherwise.
        </tp:docstring>
      </arg>
    </signal>
  </interface>
</node>
