<?xml version="1.0" ?>
<node name="/Gabble_Plugin_Console"
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright>Copyright © 2011 Collabora Ltd.</tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
    <p>This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Lesser General Public
      License as published by the Free Software Foundation; either
      version 2.1 of the License, or (at your option) any later version.</p>

    <p>This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Lesser General Public License for more details.</p>

    <p>You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
      USA.</p>
  </tp:license>

  <interface name="org.freedesktop.Telepathy.Gabble.Plugin.Console">
    <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal"
                value="true"/>
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>A sidecar interface providing an XMPP console.</p>
    </tp:docstring>

    <method name="SendIQ" tp:name-for-bindings="Send_IQ">
      <arg direction="in" name="Type" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          The type of IQ request to send; either <code>"get"</code> or
          <code>"set"</code>.
        </tp:docstring>
      </arg>
      <arg direction="in" name="To" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          The recipient for the IQ; or the empty string to send an IQ to the
          server (with no recipient specified).
        </tp:docstring>
      </arg>
      <arg direction="in" name="Body" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          An XML fragment for the body of the IQ, which MUST have exactly one
          top-level element.
        </tp:docstring>
      </arg>
      <arg direction="out" name="Reply_Type" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          The type of IQ reply; either <code>"result"</code> or
          <code>"error"</code>.
        </tp:docstring>
      </arg>
      <arg direction="out" name="Body" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          An XML fragment for the body of the response, which MUST have between
          zero and two top-level elements (the query element, an error element,
          both, or neither).
        </tp:docstring>
      </arg>
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        Hai.
      </tp:docstring>
    </method>

    <method name="SendStanza" tp:name-for-bindings="Send_Stanza">
      <arg direction="in" name="Stanza" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          A complete stanza.
        </tp:docstring>
      </arg>

      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        Sends a stanza, yo.
      </tp:docstring>
    </method>

    <signal name="StanzaSent" tp:name-for-bindings="Stanza_Sent">
      <arg name="Stanza" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          The stanza, in glorious XML.
        </tp:docstring>
      </arg>

      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        Emitted whenever a stanza is sent and
        <tp:member-ref>SpewStanzas</tp:member-ref> is
        <code>True</code>.
      </tp:docstring>
    </signal>

    <signal name="StanzaReceived" tp:name-for-bindings="Stanza_Received">
      <arg name="Stanza" type="s">
        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
          The stanza, in glorious XML.
        </tp:docstring>
      </arg>

      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        Emitted whenever a stanza is received and
        <tp:member-ref>SpewStanzas</tp:member-ref> is
        <code>True</code>.
      </tp:docstring>
    </signal>

    <property name="SpewStanzas" type="b" access="readwrite"
              tp:name-for-bindings="Spew_Stanzas">
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        If <code>True</code>, <tp:member-ref>StanzaReceived</tp:member-ref> and
        <tp:member-ref>StanzaSent</tp:member-ref> will be emitted, drowning
        your session bus in a sea of XML.
      </tp:docstring>
    </property>

  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
