<?xml version="1.0" ?>
<node name="/Account_Interface_Addressing" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright>Copyright © 2010 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.Account.Interface.Addressing">
    <tp:requires interface="org.freedesktop.Telepathy.Account"/>
    <tp:added version="0.21.5">(as stable API)</tp:added>
    <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal"
                value="true"/>
    <tp:changed version="0.27.1">
      The standard D-Bus <code>PropertiesChanged</code> signal is now used
      for <tp:member-ref>URISchemes</tp:member-ref> property change notifications.
    </tp:changed>
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>Some accounts can be used for multiple protocols; for instance, SIP
        and Skype accounts can often be used to contact the PSTN, MSN and
        Yahoo accounts can contact each other, and XMPP accounts can
        potentially contact many protocols via a transport.</p>
      <p>However, if the user does not intend to make use of this functionality,
        user interfaces can improve clarity by not displaying it: for instance,
        if a user prefers to call phone numbers via a particular SIP account,
        when an address book displays a contact with a phone number, it is
        desirable to display a "call with SIP" button for that account, but
        avoid displaying similar buttons for any other configured SIP or
        Skype accounts.</p>
      <p>The purpose of this interface is to allow this "for use with" information
        to be recorded and retrieved.</p>
    </tp:docstring>

    <property name="URISchemes" type="as" access="read"
              tp:name-for-bindings="URI_Schemes">
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        <p>A list of fields indicating the type of URI addressing scheme
          the the account should be used for (eg 'tel') indicating the
          account is intended for use by applications offering a telephony
          UI, or 'sip' or 'xmpp' for those protocols</p>
        <p>Note that these fields signify intent, not ability: It is
          entirely possible that an account which can be used for a
          given URI scheme is not wanted for it by the user, and
          therefore not flagged as such in this field.</p>
        <p>Change notification for this property is provided by the
          standard D-Bus <code>PropertiesChanged</code> signal.</p>
      </tp:docstring>
    </property>

    <method name="SetURISchemeAssociation"
            tp:name-for-bindings="Set_URI_Scheme_Association">
      <tp:docstring>
        <p>Associate (or disassociate) an account with a particular
          URI addressing scheme, (such as 'tel' for telephony)</p>
      </tp:docstring>

      <arg name="URI_Scheme" direction="in" type="s">
        <tp:docstring>
          <p>URI scheme to associate/disassociate the account with/from</p>
        </tp:docstring>
      </arg>

      <arg name="Association" direction="in" type="b">
        <tp:docstring>
          <p>True to associate this account with a given addressing scheme</p>
          <p>False if the account should not be associated with said scheme</p>
        </tp:docstring>
      </arg>

    </method>

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