<?xml version="1.0" ?>
<node name="/Connection_Interface_Privacy" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright> Copyright (C) 2005, 2006 Collabora Limited </tp:copyright>
  <tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright>
  <tp:copyright> Copyright (C) 2006 INdT </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.Connection.Interface.Privacy"
    tp:causes-havoc='not well-tested'>
    <tp:requires interface="org.freedesktop.Telepathy.Connection"/>
    <method name="GetPrivacyMode" tp:name-for-bindings="Get_Privacy_Mode">
      <arg direction="out" type="s">
        <tp:docstring>
          A string representing the current privacy mode
        </tp:docstring>
      </arg>
      <tp:docstring>
        Return the current privacy mode, which must be one of the values
        returned by GetPrivacyModes.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
      </tp:possible-errors>
    </method>
    <method name="GetPrivacyModes" tp:name-for-bindings="Get_Privacy_Modes">
      <arg direction="out" type="as">
        <tp:docstring>
          An array of valid privacy modes for this connection
        </tp:docstring>
      </arg>
      <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
        Returns the privacy modes available on this connection. The following
        well-known names should be used where appropriate:
        <dl>
          <dt>allow-all</dt><dd>any contact may initiate communication</dd>
          <dt>allow-specified</dt><dd>only contacts on your 'allow' list may initiate communication</dd>
          <dt>allow-subscribed</dt><dd>only contacts on your subscription list may initiate communication</dd>
         </dl>
       </tp:docstring>
    </method>
    <signal name="PrivacyModeChanged"
      tp:name-for-bindings="Privacy_Mode_Changed">
      <arg name="Mode" type="s">
        <tp:docstring>
          The current privacy mode
        </tp:docstring>
      </arg>
      <tp:docstring>
        Emitted when the privacy mode is changed or the value has been
        initially received from the server.
      </tp:docstring>
    </signal>
    <method name="SetPrivacyMode" tp:name-for-bindings="Set_Privacy_Mode">
      <arg direction="in" name="Mode" type="s">
        <tp:docstring>
          The desired privacy mode
        </tp:docstring>
      </arg>
      <tp:docstring>
        Request that the privacy mode be changed to the given value, which
        must be one of the values returned by GetPrivacyModes. Success is
        indicated by the method returning and the PrivacyModeChanged
        signal being emitted.
      </tp:docstring>
      <tp:possible-errors>
        <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
        <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
        <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
        <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/>
      </tp:possible-errors>
    </method>
    <tp:docstring>
      An interface to support getting and setting privacy modes to configure
    situations such as not being contactable by people who are not on your
    subscribe list. If this interface is not implemented, the default can be
    presumed to be allow-all (as defined in GetPrivacyModes).
    </tp:docstring>
  </interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->
