<?xml version="1.0" ?>
<node name="/Connection_Interface_Renaming" 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.Renaming"
tp:causes-havoc='not well-tested'>
<tp:requires interface="org.freedesktop.Telepathy.Connection"/>
<signal name="Renamed" tp:name-for-bindings="Renamed">
<arg name="Original" type="u" tp:type="Contact_Handle">
<tp:docstring>
The handle of the original identifier
</tp:docstring>
</arg>
<arg name="New" type="u" tp:type="Contact_Handle">
<tp:docstring>
The handle of the new identifier
</tp:docstring>
</arg>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Emitted when the unique identifier of a contact on the server
changes.</p>
<p>Any channels associated with the contact's original handle will
continue to be to that handle, and so are no longer useful (unless
the contact renames back, or another contact connects with that
unique ID). Clients may open a similar channel associated with the
new handle to continue communicating with the contact.</p>
<p>For example, if a GUI client associates text
channels with chat windows, it should detach the old channel
from the chat window, closing it, and associate a channel to the
new handle with the same window.</p>
<p>If the contact's old handle is in any of the member lists of
a channel which has the groups interface, it will be removed from
the channel and the new handle will be added. The resulting
<tp:dbus-ref
namespace="org.freedesktop.Telepathy.Channel.Interface.Group">MembersChanged</tp:dbus-ref>
signal must be emitted <em>after</em> the
<tp:member-ref>Renamed</tp:member-ref> signal; the reason should be
RENAMED.
</p>
<p>The handles may be either general-purpose or channel-specific.
If the original handle is general-purpose, the new handle must be
general-purpose; if the original handle is channel-specific, the
new handle must be channel-specific in the same channel.
</p>
</tp:docstring>
</signal>
<method name="RequestRename" tp:name-for-bindings="Request_Rename">
<arg direction="in" name="Identifier" type="s">
<tp:docstring>
The desired identifier
</tp:docstring>
</arg>
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
<p>Request that the user's own identifier is changed on the server.
If successful, a <tp:member-ref>Renamed</tp:member-ref> signal will
be emitted for the current "self handle" as returned by <tp:dbus-ref
namespace="org.freedesktop.Telepathy.Connection">GetSelfHandle</tp:dbus-ref>.</p>
<p>It is protocol-dependent how the identifier that's actually
used will be derived from the supplied identifier; some sort of
normalization might take place.</p>
</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.NotAvailable"/>
<tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument"/>
<tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
</tp:possible-errors>
</method>
<tp:docstring>
An interface on connections to support protocols where the unique
identifiers of contacts can change. Because handles are immutable,
this is represented by a pair of handles, that representing the
old name, and that representing the new one.
</tp:docstring>
</interface>
</node>
<!-- vim:set sw=2 sts=2 et ft=xml: -->