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

<node name="/org/openmoko/Diversity/Rae" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <interface name="org.openmoko.Diversity.Rae">

    <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="control_rae"/>

    <signal name="StatusChanged">
      <tp:docstring>
        Emit when the status of the connection to the server changed.
      </tp:docstring>

      <arg type="s" name="status">
        <tp:docstring>
          The new status.
        </tp:docstring>
      </arg>
    </signal>

    <signal name="QueryDone">
      <tp:docstring>
        Emit when the most recent query has completed.
      </tp:docstring>

      <arg type="u" name="id">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
      <arg type="s" name="result">
        <tp:docstring>
          The result of the query.
        </tp:docstring>
      </arg>
    </signal>

    <signal name="ReportDone">
      <tp:docstring>
        Emit when the most recent report has completed.
      </tp:docstring>

      <arg type="u" name="id">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
      <arg type="s" name="result">
        <tp:docstring>
          The result of the report.
        </tp:docstring>
      </arg>
    </signal>

    <method name="GetStatus">
      <tp:docstring>
        Get the status of the connection to the server.
      </tp:docstring>

      <arg type="s" name="status" direction="out">
        <tp:docstring>
          The status.
        </tp:docstring>
      </arg>
    </method>

    <method name="RequestLogin">
      <tp:docstring>
        Login to the server.
      </tp:docstring>

      <arg type="s" name="username" direction="in">
        <tp:docstring>
          The username.
        </tp:docstring>
      </arg>
      <arg type="s" name="password" direction="in">
        <tp:docstring>
          The password.
        </tp:docstring>
      </arg>

      <arg type="u" name="id" direction="out">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
    </method>

    <method name="RequestQuery">
      <tp:docstring>
        Query APs in a range.
      </tp:docstring>

      <arg type="d" name="lon" direction="in">
        <tp:docstring>
          The longitude of the center.
        </tp:docstring>
      </arg>
      <arg type="d" name="lat" direction="in">
        <tp:docstring>
          The latitude of the center.
        </tp:docstring>
      </arg>
      <arg type="d" name="raidus" direction="in">
        <tp:docstring>
          The radius in meters.
        </tp:docstring>
      </arg>

      <arg type="u" name="id" direction="out">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
    </method>

    <method name="RequestReport">
      <tp:docstring>
        Report the specified AP to the server.
      </tp:docstring>

      <arg type="o" name="ap" direction="in">
        <tp:docstring>
          The object path of the AP.
        </tp:docstring>
      </arg>

      <arg type="u" name="id" direction="out">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
    </method>

    <method name="CancelRequest">
      <tp:docstring>
        Cancel the specified request.
      </tp:docstring>

      <arg type="u" name="id" direction="in">
        <tp:docstring>
          The request id.
        </tp:docstring>
      </arg>
    </method>

  </interface>
</node>
