<?xml version="1.0" ?>
<node name="/Channel_Interface_Credentials_Storage"
      xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright © 2011 Collabora Limited </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.Channel.Interface.CredentialsStorage.DRAFT"
    tp:causes-havoc="experimental">
    <tp:added version="0.21.10">(draft 1)</tp:added>
    <tp:requires interface="org.freedesktop.Telepathy.Channel.Interface.SASLAuthentication"/>
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>A channel interface for SASL authentication channels that can save the
        credentials in the connection manager.</p>

      <p>This interface is unlikely to be present for any SASL channels that are
        more complex than a simple password prompt (e.g.
        <code>X-TELEPATHY-PASSWORD</code> or <code>PLAIN</code>).</p>

      <p>In practice, this interface should only be implemented by connection
        managers that implement the <tp:dbus-ref
          namespace="ofdT">ConnectionManager.Interface.AccountStorage.DRAFT</tp:dbus-ref>
        interface. To clear a password that has been saved in this manner, a
        client should call <tp:dbus-ref
          namespace="ofdT.ConnectionManager.Interface">AccountStorage.DRAFT.ForgetCredentials</tp:dbus-ref>
        on the Account.</p>
    </tp:docstring>

    <method name="StoreCredentials" tp:name-for-bindings="Store_Credentials">
      <arg direction="in" name="Store" type="b">
        <tp:docstring>
          Whether to store the authentication credentials.
        </tp:docstring>
      </arg>
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        <p>This method tells the connection manager whether to store the
          authentication response in order to allow the connection manager to
          sign-on automatically in the future.</p>
        <p>If credentials have been stored in this way, the client SHOULD NOT
          attempt to store the credentials locally in a keyring.</p>
        <p>This method MUST be called before <tp:dbus-ref
            namespace="org.freedesktop.Telepathy.Channel.Interface.SASLAuthentication">AcceptSASL</tp:dbus-ref>
          is called or it will have no effect.</p>
      </tp:docstring>
    </method>
  </interface>
</node>
