summaryrefslogtreecommitdiff
path: root/qt4/spec/Channel_Interface_Group.xml
diff options
context:
space:
mode:
Diffstat (limited to 'qt4/spec/Channel_Interface_Group.xml')
-rw-r--r--qt4/spec/Channel_Interface_Group.xml1166
1 files changed, 0 insertions, 1166 deletions
diff --git a/qt4/spec/Channel_Interface_Group.xml b/qt4/spec/Channel_Interface_Group.xml
deleted file mode 100644
index 92de9c5c4..000000000
--- a/qt4/spec/Channel_Interface_Group.xml
+++ /dev/null
@@ -1,1166 +0,0 @@
-<?xml version="1.0" ?>
-<node name="/Channel_Interface_Group" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
- <tp:copyright>Copyright © 2005-2009 Collabora Limited</tp:copyright>
- <tp:copyright>Copyright © 2005-2009 Nokia Corporation</tp:copyright>
- <tp:copyright>Copyright © 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.Channel.Interface.Group">
- <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
-
- <tp:struct name="Local_Pending_Info" array-name="Local_Pending_Info_List">
- <tp:docstring>A structure representing a contact whose attempt to
- join a group is to be confirmed by the local user using
- <tp:member-ref>AddMembers</tp:member-ref>.</tp:docstring>
- <tp:member type="u" tp:type="Contact_Handle" name="To_Be_Added">
- <tp:docstring>
- The contact to be added to the group
- </tp:docstring>
- </tp:member>
- <tp:member type="u" tp:type="Contact_Handle" name="Actor">
- <tp:docstring>
- The contact requesting or causing the change
- </tp:docstring>
- </tp:member>
- <tp:member type="u" tp:type="Channel_Group_Change_Reason" name="Reason">
- <tp:docstring>
- The reason for the change
- </tp:docstring>
- </tp:member>
- <tp:member type="s" name="Message">
- <tp:docstring>
- A human-readable message from the Actor, or an empty string
- if there is no message
- </tp:docstring>
- </tp:member>
- </tp:struct>
-
- <method name="AddMembers" tp:name-for-bindings="Add_Members">
- <arg direction="in" name="Contacts" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- An array of contact handles to invite to the channel
- </tp:docstring>
- </arg>
- <arg direction="in" name="Message" type="s">
- <tp:docstring>
- A string message, which can be blank if desired
- </tp:docstring>
- </arg>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Invite all the given contacts into the channel, or accept requests for
- channel membership for contacts on the pending local list.</p>
-
- <p>A message may be provided along with the request, which will be sent
- to the server if supported. See the CHANNEL_GROUP_FLAG_MESSAGE_ADD and
- CHANNEL_GROUP_FLAG_MESSAGE_ACCEPT
- <tp:member-ref>GroupFlags</tp:member-ref> to see in which cases this
- message should be provided.</p>
-
- <p>Attempting to add contacts who are already members is allowed;
- connection managers must silently accept this, without error.</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.NotCapable"/>
- <tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
- <tp:error name="org.freedesktop.Telepathy.Error.Channel.Full"/>
- <tp:error name="org.freedesktop.Telepathy.Error.Channel.InviteOnly"/>
- <tp:error name="org.freedesktop.Telepathy.Error.Channel.Banned"/>
- </tp:possible-errors>
- </method>
-
- <method name="GetAllMembers" tp:name-for-bindings="Get_All_Members">
- <tp:deprecated version="0.17.6">Use GetAll on the D-Bus
- Properties D-Bus interface to get properties including Members,
- RemotePendingMembers and LocalPendingMembers instead, falling back to
- this method and GetLocalPendingMembersWithInfo if necessary.
- </tp:deprecated>
-
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Members">
- <tp:docstring>
- array of handles of current members
- </tp:docstring>
- </arg>
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Local_Pending">
- <tp:docstring>
- array of handles of local pending members
- </tp:docstring>
- </arg>
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Remote_Pending">
- <tp:docstring>
- array of handles of remote pending members
- </tp:docstring>
- </arg>
- <tp:docstring>
- Returns arrays of all current, local and remote pending channel
- members.
- </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>
-
- <tp:flags name="Channel_Group_Flags" value-prefix="Channel_Group_Flag" type="u">
- <tp:flag suffix="Can_Add" value="1">
- <tp:docstring>
- The <tp:member-ref>AddMembers</tp:member-ref> method can be used to
- add or invite members who are
- not already in the local pending list (which is always valid).
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Can_Remove" value="2">
- <tp:docstring>
- The <tp:member-ref>RemoveMembers</tp:member-ref> method can be used
- to remove channel members
- (removing those on the pending local list is always valid).
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Can_Rescind" value="4">
- <tp:docstring>
- The <tp:member-ref>RemoveMembers</tp:member-ref> method can be used
- on people on the remote
- pending list.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Add" value="8">
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>AddMembers</tp:member-ref> on
- contacts who are not currently pending members.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Remove" value="16">
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>RemoveMembers</tp:member-ref> on
- contacts who are currently channel members.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Accept" value="32">
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>AddMembers</tp:member-ref> on
- contacts who are locally pending.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Reject" value="64">
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>RemoveMembers</tp:member-ref> on
- contacts who are locally pending.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Rescind" value="128">
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>RemoveMembers</tp:member-ref> on
- contacts who are remote pending.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Channel_Specific_Handles" value="256">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>
- The members of this group have handles which are specific to
- this channel, and are not valid as general-purpose handles on
- the connection. Depending on the channel, it may be possible to
- check the <tp:member-ref>HandleOwners</tp:member-ref> property or
- call <tp:member-ref>GetHandleOwners</tp:member-ref> to find the
- owners of these handles, which should be done if you wish to (e.g.)
- subscribe to the contact's presence.
- </p>
-
- <p>
- Connection managers must ensure that any given handle is not
- simultaneously a general-purpose handle and a channel-specific
- handle.
- </p>
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Only_One_Group" value="512">
- <tp:docstring>
- Placing a contact in multiple groups of this type is not allowed
- and will raise NotAvailable (on services where contacts may only
- be in one user-defined group, user-defined groups will have
- this flag).
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Handle_Owners_Not_Available" value="1024">
- <tp:docstring>
- In rooms with channel specific handles (ie Channel_Specific_Handles
- flag is set), this flag indicates that no handle owners are
- available, apart from the owner of the
- <tp:member-ref>SelfHandle</tp:member-ref>.
-
- <tp:rationale>
- This used to be an important optimization to avoid repeated
- GetHandleOwners calls, before we introduced the
- <tp:member-ref>HandleOwners</tp:member-ref> property and
- <tp:member-ref>HandleOwnersChanged</tp:member-ref> signal.
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Properties" value="2048">
- <tp:docstring>
- This flag indicates that all the properties introduced in
- specification 0.17.6 are fully supported.
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Members_Changed_Detailed" value="4096">
- <tp:docstring>
- Indicates that <tp:member-ref>MembersChangedDetailed</tp:member-ref>
- will be emitted for changes to this group's members in addition to
- <tp:member-ref>MembersChanged</tp:member-ref>.
- Clients can then connect to the former and ignore emission of the
- latter. This flag's state MUST NOT change over the lifetime of a
- channel.
-
- <tp:rationale>
- If it were allowed to change, client bindings would have to always
- connect to MembersChanged just in case the flag ever went away (and
- generally be unnecessarily complicated), which would mostly negate
- the point of having this flag in the first place.
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
- <tp:flag suffix="Message_Depart" value="8192">
- <tp:added version="0.17.21"/>
- <tp:docstring>
- A message may be sent to the server when calling
- <tp:member-ref>RemoveMembers</tp:member-ref> on
- the <tp:member-ref>SelfHandle</tp:member-ref>.
-
- <tp:rationale>
- This would be set for XMPP Multi-User Chat or IRC channels,
- but not for a typical implementation of streamed media calls.
- </tp:rationale>
- </tp:docstring>
- </tp:flag>
- </tp:flags>
-
- <property name="GroupFlags" type="u" tp:type="Channel_Group_Flags"
- access="read" tp:name-for-bindings="Group_Flags">
- <tp:docstring>
- An integer representing the bitwise-OR of flags on this
- channel. The user interface can use this to present information about
- which operations are currently valid. Change notification is via
- the <tp:member-ref>GroupFlagsChanged</tp:member-ref> signal.
- </tp:docstring>
- <tp:added version="0.17.6">For backwards compatibility,
- clients should fall back to calling GetGroupFlags if
- Channel_Group_Flag_Properties is not present.</tp:added>
- </property>
-
- <method name="GetGroupFlags" tp:name-for-bindings="Get_Group_Flags">
- <arg direction="out" type="u" tp:type="Channel_Group_Flags"
- name="Group_Flags">
- <tp:docstring>
- The value of the GroupFlags property
- </tp:docstring>
- </arg>
- <tp:docstring>
- Returns the value of the <tp:member-ref>GroupFlags</tp:member-ref> property.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Use GetAll on the D-Bus
- Properties D-Bus interface to get properties including GroupFlags
- instead, falling back to this method if necessary.</tp:deprecated>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
- </tp:possible-errors>
- </method>
-
- <tp:mapping name="Handle_Owner_Map">
- <tp:docstring>
- A map from channel-specific handles to their owners.
- </tp:docstring>
- <tp:added version="0.17.6">For backwards compatibility,
- clients should fall back to calling GetHandleOwners if
- Channel_Group_Flag_Properties is not present.</tp:added>
-
- <tp:member type="u" name="Channel_Specific_Handle"
- tp:type="Contact_Handle">
- <tp:docstring>
- A nonzero channel-specific handle
- </tp:docstring>
- </tp:member>
- <tp:member type="u" name="Global_Handle" tp:type="Contact_Handle">
- <tp:docstring>
- The global handle that owns the corresponding channel-specific
- handle, or 0 if this could not be determined
- </tp:docstring>
- </tp:member>
- </tp:mapping>
-
- <property name="HandleOwners" type="a{uu}" tp:type="Handle_Owner_Map"
- access="read" tp:name-for-bindings="Handle_Owners">
- <tp:docstring>
- A map from channel-specific handles to their owners, including
- at least all of the channel-specific handles in this channel's members,
- local-pending or remote-pending sets as keys. Any handle not in
- the keys of this mapping is not channel-specific in this channel.
- Handles which are channel-specific, but for which the owner is
- unknown, MUST appear in this mapping with 0 as owner. Change
- notification is via the
- <tp:member-ref>HandleOwnersChanged</tp:member-ref> signal.
- </tp:docstring>
- <tp:added version="0.17.6"/>
- </property>
-
- <signal name="HandleOwnersChanged"
- tp:name-for-bindings="Handle_Owners_Changed">
- <tp:docstring>
- Emitted whenever the <tp:member-ref>HandleOwners</tp:member-ref>
- property changes.
- </tp:docstring>
- <tp:added version="0.17.6">This signal should not be relied on
- unless Channel_Group_Flag_Properties is present.</tp:added>
-
- <arg name="Added" type="a{uu}" tp:type="Handle_Owner_Map">
- <tp:docstring>
- A map from channel-specific handles to their owners, in which the
- keys include all the handles that were added to the keys of the
- HandleOwners property, and all the handles in that property whose
- owner has changed
- </tp:docstring>
- </arg>
- <arg name="Removed" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- The channel-specific handles that were removed from the keys of the
- HandleOwners property, as a result of the contact leaving this group
- in a previous <tp:member-ref>MembersChanged</tp:member-ref> signal
- </tp:docstring>
- </arg>
- </signal>
-
- <method name="GetHandleOwners" tp:name-for-bindings="Get_Handle_Owners">
- <arg direction="in" name="Handles" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of integer handles representing members of the channel
- </tp:docstring>
- </arg>
- <arg direction="out" type="au" tp:type="Contact_Handle[]" name="Owners">
- <tp:docstring>
- An array of integer handles representing the owner handles of
- the given room members, in the same order, or 0 if the
- owner is not available
- </tp:docstring>
- </arg>
- <tp:docstring>
- If the CHANNEL_GROUP_FLAG_CHANNEL_SPECIFIC_HANDLES flag is set on
- the channel, then the handles of the group members are specific
- to this channel, and are not meaningful in a connection-wide
- context such as contact lists. This method allows you to find
- the owner of the handle if it can be discovered in this channel,
- or 0 if the owner is not available.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Clients should use the
- HandleOwners property and HandleOwnersChanged signal if
- Channel_Group_Flag_Properties is present.</tp:deprecated>
- <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.InvalidHandle"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NotAvailable">
- <tp:docstring>
- This channel doesn't have the CHANNEL_SPECIFIC_HANDLES flag,
- so handles in this channel are globally meaningful and calling
- this method is not necessary
- </tp:docstring>
- </tp:error>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- One of the given handles is not a member
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <method name="GetLocalPendingMembers"
- tp:name-for-bindings="Get_Local_Pending_Members">
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Handles"/>
- <tp:docstring>
- Returns the To_Be_Added handle (only) for each structure in the
- <tp:member-ref>LocalPendingMembers</tp:member-ref> property.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Use the LocalPendingMembers
- property, if Channel_Group_Flag_Properties is present.</tp:deprecated>
- <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="GetLocalPendingMembersWithInfo"
- tp:name-for-bindings="Get_Local_Pending_Members_With_Info">
- <tp:added version="0.15.0" />
- <tp:docstring>
- Returns the <tp:member-ref>LocalPendingMembers</tp:member-ref> property.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Use the LocalPendingMembers
- property, if Channel_Group_Flag_Properties is present.</tp:deprecated>
- <arg direction="out" type="a(uuus)" tp:type="Local_Pending_Info[]"
- name="Info">
- <tp:docstring>
- An array of structs containing:
- <ul>
- <li>
- A handle representing the contact requesting channel membership
- </li>
- <li>
- A handle representing the contact making the request, or 0 if
- unknown
- </li>
- <li>
- The reason for the request: one of the values of
- <tp:type>Channel_Group_Change_Reason</tp:type>
- </li>
- <li>
- A string message containing the reason for the request if any (or
- blank if none)
- </li>
- </ul>
- </tp:docstring>
- </arg>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
- </tp:possible-errors>
- </method>
-
- <property name="LocalPendingMembers" access="read"
- type="a(uuus)" tp:type="Local_Pending_Info[]"
- tp:name-for-bindings="Local_Pending_Members">
- <tp:docstring>
- An array of structs containing handles representing contacts
- requesting channel membership and awaiting local approval with
- <tp:member-ref>AddMembers</tp:member-ref>.
- </tp:docstring>
- <tp:added version="0.17.6">If Channel_Group_Flag_Properties is
- not present, clients should fall back to using the
- deprecated GetLocalPendingMembersWithInfo method, or fall back
- from that to the deprecated GetAllMembers method.</tp:added>
- </property>
-
- <property name="Members" tp:name-for-bindings="Members"
- access="read" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- The members of this channel.
- </tp:docstring>
- <tp:added version="0.17.6">If Channel_Group_Flag_Properties
- is not set, fall back to calling GetAllMembers.</tp:added>
- </property>
-
- <method name="GetMembers" tp:name-for-bindings="Get_Members">
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Handles"/>
- <tp:docstring>
- Returns the <tp:member-ref>Members</tp:member-ref> property.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Use the Members
- property, if Channel_Group_Flag_Properties is present.</tp:deprecated>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
- </tp:possible-errors>
- </method>
-
- <property name="RemotePendingMembers" access="read" type="au"
- tp:type="Contact_Handle[]" tp:name-for-bindings="Remote_Pending_Members">
- <tp:docstring>
- An array of handles representing contacts who have been
- invited to the channel and are awaiting remote approval.
- </tp:docstring>
- <tp:added version="0.17.6">If Channel_Group_Flag_Properties
- is not set, fall back to calling GetAllMembers.</tp:added>
- </property>
-
- <method name="GetRemotePendingMembers"
- tp:name-for-bindings="Get_Remote_Pending_Members">
- <arg direction="out" type="au" tp:type="Contact_Handle[]"
- name="Handles"/>
- <tp:docstring>
- Returns an array of handles representing contacts who have been
- invited to the channel and are awaiting remote approval.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Use the
- <tp:member-ref>RemotePendingMembers</tp:member-ref>
- property, if Channel_Group_Flag_Properties is present.</tp:deprecated>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
- </tp:possible-errors>
- </method>
-
- <signal name="SelfHandleChanged" tp:name-for-bindings="Self_Handle_Changed">
- <tp:docstring>
- Emitted whenever the <tp:member-ref>SelfHandle</tp:member-ref> property
- changes.
- </tp:docstring>
- <tp:added version="0.17.6">This signal should not be relied on
- unless Channel_Group_Flag_Properties is present.</tp:added>
-
- <arg type="u" tp:type="Contact_Handle" name="Self_Handle">
- <tp:docstring>
- The new value of the SelfHandle property.
- </tp:docstring>
- </arg>
- </signal>
-
- <property name="SelfHandle" type="u" tp:type="Contact_Handle"
- access="read" tp:name-for-bindings="Self_Handle">
- <tp:docstring>
- The handle for the user on this channel (which can also be a
- local or remote pending member), or 0 if the user is not a member at
- all (which is likely to be the case, for instance, on <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">ContactList</tp:dbus-ref>
- channels). Note that this is different from the result of
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy">Connection.GetSelfHandle</tp:dbus-ref>
- on some protocols, so the value of this handle should
- always be used with the methods of this interface.
- </tp:docstring>
- <tp:added version="0.17.6">For backwards compatibility,
- clients should fall back to calling GetSelfHandle if
- Channel_Group_Flag_Properties is not present.</tp:added>
- </property>
-
- <method name="GetSelfHandle" tp:name-for-bindings="Get_Self_Handle">
- <arg direction="out" type="u" tp:type="Contact_Handle"
- name="Self_Handle"/>
- <tp:docstring>
- Returns the value of the <tp:member-ref>SelfHandle</tp:member-ref>
- property.
- </tp:docstring>
- <tp:deprecated version="0.17.6">Clients should retrieve the
- SelfHandle property using GetAll instead,
- if Channel_Group_Flag_Properties is present.</tp:deprecated>
- <tp:possible-errors>
- <tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
- <tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
- </tp:possible-errors>
- </method>
-
- <signal name="GroupFlagsChanged" tp:name-for-bindings="Group_Flags_Changed">
- <arg name="Added" type="u" tp:type="Channel_Group_Flags">
- <tp:docstring>
- A bitwise OR of the flags which have been set
- </tp:docstring>
- </arg>
- <arg name="Removed" type="u" tp:type="Channel_Group_Flags">
- <tp:docstring>
- A bitwise OR of the flags which have been cleared
- </tp:docstring>
- </arg>
- <tp:docstring>
- Emitted when the flags as returned by
- <tp:member-ref>GetGroupFlags</tp:member-ref> are changed.
- The user interface should be updated as appropriate.
- </tp:docstring>
- </signal>
-
- <tp:enum name="Channel_Group_Change_Reason" type="u">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The reason for a set of handles to move to one of
- <tp:member-ref>Members</tp:member-ref>,
- <tp:member-ref>LocalPendingMembers</tp:member-ref> or
- <tp:member-ref>RemotePendingMembers</tp:member-ref>, or to be removed
- from the group. A client may supply a reason when attempting to
- remove members from a group with
- <tp:member-ref>RemoveMembersWithReason</tp:member-ref>, and reasons
- are supplied by the CM when emitting
- <tp:member-ref>MembersChanged</tp:member-ref> and
- <tp:member-ref>MembersChangedDetailed</tp:member-ref>. Some reason
- codes have different meanings depending on the <var>Actor</var> in a
- MembersChanged signal.</p>
- </tp:docstring>
-
- <tp:enumvalue suffix="None" value="0">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>No reason was provided for this change.</p>
-
- <p>In particular, this reason SHOULD be used when representing
- users joining a named chatroom in the usual way, users leaving
- a chatroom by their own request, and normal termination of a
- StreamedMedia call by the remote user.</p>
-
- <p>If the <tp:member-ref>SelfHandle</tp:member-ref> is removed from
- a group for this reason and the actor is not the SelfHandle, the
- equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Terminated</code>.</p>
-
- <p>If the SelfHandle is removed from a group for this reason and
- the actor is also the SelfHandle, the equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Cancelled</code>.</p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Offline" value="1">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is due to a user going offline. Also used when
- user is already offline, but this wasn't known previously.</p>
-
- <p>If a one-to-one <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- call fails because the contact being called is offline, the
- connection manager SHOULD indicate this by removing both the
- <tp:member-ref>SelfHandle</tp:member-ref> and the other contact's
- handle from the Group interface with reason Offline.</p>
-
- <tp:rationale>
- For 1-1 calls, the call terminates as a result of removing the
- remote contact, so the SelfHandle should be removed at the same
- time as the remote contact and for the same reason.
- </tp:rationale>
-
- <p>If a handle is removed from a group for this reason, the
- equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Offline</code>.</p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Kicked" value="2">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is due to a kick operation.</p>
-
- <p>If the <tp:member-ref>SelfHandle</tp:member-ref> is removed
- from a group for this reason, the equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Channel.Kicked</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Busy" value="3">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is due to a busy indication.</p>
-
- <p>If a one-to-one <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- call fails because the contact being called is busy, the
- connection manager SHOULD indicate this by removing both the
- <tp:member-ref>SelfHandle</tp:member-ref> and the other contact's
- handle from the Group interface with reason Busy.</p>
-
- <tp:rationale>
- For 1-1 calls, the call terminates as a result of removing the
- remote contact, so the SelfHandle should be removed at the same
- time as the remote contact and for the same reason.
- </tp:rationale>
-
- <p>If the <tp:member-ref>SelfHandle</tp:member-ref> is removed
- from a group for this reason, the equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Busy</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Invited" value="4">
- <tp:docstring>
- The change is due to an invitation. This reason SHOULD only be used
- when contacts are added to the remote-pending set (to indicate that
- the contact has been invited) or to the members (to indicate that
- the contact has accepted the invitation).
-
- <tp:rationale>
- Otherwise, what would it mean?
- </tp:rationale>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Banned" value="5">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is due to a kick+ban operation.</p>
-
- <p>If the <tp:member-ref>SelfHandle</tp:member-ref> is removed
- from a group for this reason, the equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.Channel.Banned</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Error" value="6">
- <tp:docstring>
- The change is due to an error occurring.
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Invalid_Contact" value="7">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is because the requested contact does not exist.</p>
-
- <p>For instance, if the user invites a nonexistent contact to a
- chatroom or attempts to call a nonexistent contact, this could
- be indicated by the CM adding that contact's handle to
- remote-pending for reason None or Invited, then removing it for
- reason Invalid_Contact. In the case of a 1-1 StreamedMedia
- call, the CM SHOULD remove the self handle from the Group
- in the same signal.</p>
-
- <tp:rationale>
- For 1-1 calls, the call terminates as a result of removing the
- remote contact, so the SelfHandle should be removed at the same
- time as the remote contact and for the same reason.
- </tp:rationale>
-
- <p>If a contact is removed from a group for this reason, the
- equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.DoesNotExist</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="No_Answer" value="8">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is because the requested contact did not respond.</p>
-
- <p>If a one-to-one <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- call fails because the contact being called did not respond, or the
- local user did not respond to an incoming call, the
- connection manager SHOULD indicate this by removing both the
- <tp:member-ref>SelfHandle</tp:member-ref> and the other contact's
- handle from the Group interface with reason No_Answer.</p>
-
- <tp:rationale>
- Documenting existing practice.
- </tp:rationale>
-
- <p>If a contact is removed from a group for this reason, the
- equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.NoAnswer</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Renamed" value="9">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is because a contact's unique identifier changed.
- There must be exactly one handle in the removed set and exactly
- one handle in one of the added sets. The <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Connection.Interface.Renaming">Renamed</tp:dbus-ref>
- signal on the
- <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Connection.Interface">Renaming</tp:dbus-ref>
- interface will have been emitted for the same handles,
- shortly before this <tp:member-ref>MembersChanged</tp:member-ref> signal is emitted.</p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Permission_Denied" value="10">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>The change is because there was no permission to contact the
- requested handle.</p>
-
- <p>If a contact is removed from a group for this reason, the
- equivalent D-Bus error is
- <code>org.freedesktop.Telepathy.Error.PermissionDenied</code>.
- </p>
- </tp:docstring>
- </tp:enumvalue>
- <tp:enumvalue suffix="Separated" value="11">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>If members are removed with this reason code, the change is
- because the group has split into unconnected parts which can only
- communicate within themselves (e.g. netsplits on IRC use this
- reason code).
- </p>
- <p>
- If members are added with this reason code, the change is because
- unconnected parts of the group have rejoined. If this channel
- carries messages (e.g. <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">Text</tp:dbus-ref>
- or <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">Tubes</tp:dbus-ref>
- channels) applications must
- assume that the contacts being added are likely to have missed some
- messages as a result of the separation, and that the contacts
- in the group are likely to have missed some messages from the
- contacts being added.
- </p>
- <p>Note that from the added contacts' perspective, they have been
- in the group all along, and the contacts we indicate to be in
- the group (including the local user) have just rejoined
- the group with reason Separated. Application protocols in Tubes
- should be prepared to cope with this situation.
- </p>
-
- <p>The <tp:member-ref>SelfHandle</tp:member-ref> SHOULD NOT be
- removed from channels with this reason.</p>
- </tp:docstring>
- </tp:enumvalue>
- </tp:enum>
-
- <signal name="MembersChanged" tp:name-for-bindings="Members_Changed">
- <arg name="Message" type="s">
- <tp:docstring>
- A string message from the server, or blank if not
- </tp:docstring>
- </arg>
- <arg name="Added" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members added to the channel
- </tp:docstring>
- </arg>
- <arg name="Removed" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members removed from the channel
- </tp:docstring>
- </arg>
- <arg name="Local_Pending" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members who are pending local approval
- </tp:docstring>
- </arg>
- <arg name="Remote_Pending" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members who are pending remote approval
- </tp:docstring>
- </arg>
- <arg name="Actor" type="u" tp:type="Contact_Handle">
- <tp:docstring>
- The contact handle of the person who made the change, or 0
- if not known
- </tp:docstring>
- </arg>
- <arg name="Reason" type="u" tp:type="Channel_Group_Change_Reason">
- <tp:docstring>
- A reason for the change
- </tp:docstring>
- </arg>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when contacts join any of the three lists (members, local
- pending or remote pending) or when they leave any of the three lists.
- There may also be a message from the server regarding this change,
- which may be displayed to the user if desired.</p>
-
- <p>All channel-specific handles that are mentioned in this signal
- MUST be represented in the value of the
- <tp:member-ref>HandleOwners</tp:member-ref> property.
- In practice, this will mean that
- <tp:member-ref>HandleOwnersChanged</tp:member-ref> is
- emitted <em>before</em> emitting a MembersChanged signal in which
- channel-specific handles are added, but that it is emitted
- <em>after</em> emitting a MembersChanged signal in which
- channel-specific handles are removed.</p>
-
- <p>See <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- for an overview of how group state changes are used to indicate the
- progress of a call.</p>
- </tp:docstring>
- </signal>
-
- <tp:mapping name="Handle_Identifier_Map">
- <tp:docstring>
- A map from handles to the corresponding normalized string identifier.
- </tp:docstring>
- <tp:added version="0.17.17"/>
-
- <tp:member type="u" name="Handle" tp:type="Contact_Handle">
- <tp:docstring>
- A nonzero handle
- </tp:docstring>
- </tp:member>
- <tp:member type="s" name="Identifier">
- <tp:docstring>
- The same string that would be returned by <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref>
- for this handle.
- </tp:docstring>
- </tp:member>
- </tp:mapping>
-
- <signal name="MembersChangedDetailed"
- tp:name-for-bindings="Members_Changed_Detailed">
- <arg name="Added" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members added to the channel
- </tp:docstring>
- </arg>
- <arg name="Removed" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members removed from the channel
- </tp:docstring>
- </arg>
- <arg name="Local_Pending" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members who are pending local approval
- </tp:docstring>
- </arg>
- <arg name="Remote_Pending" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- A list of members who are pending remote approval
- </tp:docstring>
- </arg>
- <arg name="Details" type="a{sv}" tp:type="String_Variant_Map">
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Information about the change, which may include the following
- well-known keys:</p>
-
- <dl>
- <dt>actor (u — <tp:type>Contact_Handle</tp:type>)</dt>
- <dd>The contact handle of the person who made the change; 0 or
- omitted if unknown or not applicable.</dd>
-
- <dt>change-reason (u — <tp:type>Channel_Group_Change_Reason</tp:type>)</dt>
- <dd>A reason for the change.</dd>
-
- <dt>contact-ids (a{us} — <tp:type>Handle_Identifier_Map</tp:type>)</dt>
- <dd>
- <p>The string identifiers for handles mentioned in this signal, to
- give clients the minimal information necessary to react to the
- event without waiting for round-trips. Connection managers
- SHOULD include the identifiers for members added to the group and
- for the actor (if any); they MAY omit the identifiers for handles
- which have been removed from the group.</p>
-
- <tp:rationale>
- <p>On IRC, an event such as a netsplit could cause the vast
- majority of a channel to leave. Given that clients should
- already know the identifiers of a channel's members, including
- potentially hundreds of strings in the netsplit signal is
- unnecessary.</p>
- </tp:rationale>
-
- <p>Clients MUST NOT assume that the presence or absence of a
- handle in this mapping is meaningful. This mapping is merely
- an optimization for round-trip reduction, and connection
- managers MAY add additional handles, omit some handles, or
- omit the mapping completely.</p>
- </dd>
-
- <dt>message (s)</dt>
- <dd>A string message from the server regarding the change</dd>
-
- <dt>error (s — <tp:type>DBus_Error_Name</tp:type>)</dt>
- <dd>A (possibly implementation-specific) DBus error describing the
- change, providing more specific information than the
- <tp:type>Channel_Group_Change_Reason</tp:type> enum allows. This
- MUST only be present if it is strictly more informative than
- 'change-reason'; if present, 'change-reason' MUST be set to the
- closest available reason.
-
- <tp:rationale>
- A SIP connection manager might want to signal "402 Payment
- required" as something more specific than Error or
- Permission_Denied so that a SIP-aware UI could handle it
- specially; including a namespaced error permits this to be done
- without <tp:type>Channel_Group_Change_Reason</tp:type> being
- extended to encompass every error any CM ever wants to report.
- </tp:rationale>
- </dd>
-
- <dt>debug-message (s)</dt>
- <dd>Debugging information on the change. SHOULD NOT be shown to
- users in normal circumstances.</dd>
- </dl>
- </tp:docstring>
- </arg>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Emitted when contacts join any of the three lists (members, local
- pending or remote pending) or when they leave any of the three
- lists. This signal provides a superset of the information provided by
- <tp:member-ref>MembersChanged</tp:member-ref>;
- if the channel's <tp:member-ref>GroupFlags</tp:member-ref>
- contains Members_Changed_Detailed, then clients may listen exclusively
- to this signal in preference to that signal.</p>
-
- <p>All channel-specific handles that are mentioned in this signal
- MUST be represented in the value of the
- <tp:member-ref>HandleOwners</tp:member-ref> property. In practice,
- this will mean that
- <tp:member-ref>HandleOwnersChanged</tp:member-ref> is emitted
- <em>before</em> emitting a MembersChangedDetailed signal in which
- channel-specific handles are added, but that it is emitted
- <em>after</em> emitting a MembersChangedDetailed signal in which
- channel-specific handles are removed.</p>
-
- <p>See <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- for an overview of how group state changes are used to indicate the
- progress of a call.</p>
- </tp:docstring>
- <tp:added version="0.17.16"/>
- </signal>
-
- <method name="RemoveMembers" tp:name-for-bindings="Remove_Members">
- <arg direction="in" name="Contacts" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- An array of contact handles to remove from the channel
- </tp:docstring>
- </arg>
- <arg direction="in" name="Message" type="s">
- <tp:docstring>
- A string message, which can be blank if desired
- </tp:docstring>
- </arg>
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Requests the removal of contacts from a channel, reject their
- request for channel membership on the pending local list, or
- rescind their invitation on the pending remote list.</p>
-
- <p>If the <tp:member-ref>SelfHandle</tp:member-ref> is in a Group,
- it can be removed via this method, in order to leave the group
- gracefully. This is the recommended way to leave a chatroom, close
- or reject a <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel.Type">StreamedMedia</tp:dbus-ref>
- call, and so on.</p>
-
- <p>Accordingly, connection managers SHOULD support
- doing this, regardless of the value of
- <tp:member-ref>GroupFlags</tp:member-ref>.
- If doing so fails with PermissionDenied, this is considered to a bug
- in the connection manager, but clients MUST recover by falling back
- to closing the channel with the <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel">Close</tp:dbus-ref>
- method.</p>
-
- <p>Removing any contact from the local pending list is always
- allowed. Removing contacts other than the
- <tp:member-ref>SelfHandle</tp:member-ref> from the channel's members
- is allowed if and only if Channel_Group_Flag_Can_Remove is in the
- <tp:member-ref>GroupFlags</tp:member-ref>,
- while removing contacts other than the
- <tp:member-ref>SelfHandle</tp:member-ref> from the remote pending list
- is allowed if and only if Channel_Group_Flag_Can_Rescind is in the
- <tp:member-ref>GroupFlags</tp:member-ref>.</p>
-
- <p>A message may be provided along with the request, which will be
- sent to the server if supported. See the
- Channel_Group_Flag_Message_Remove,
- Channel_Group_Flag_Message_Depart,
- Channel_Group_Flag_Message_Reject and
- Channel_Group_Flag_Message_Rescind
- <tp:member-ref>GroupFlags</tp:member-ref> to see in which cases this
- message should be provided.</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.PermissionDenied"/>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
- </tp:possible-errors>
- </method>
-
- <method name="RemoveMembersWithReason"
- tp:name-for-bindings="Remove_Members_With_Reason">
- <arg direction="in" name="Contacts" type="au" tp:type="Contact_Handle[]">
- <tp:docstring>
- An array of contact handles to remove from the channel
- </tp:docstring>
- </arg>
- <arg direction="in" name="Message" type="s">
- <tp:docstring>
- A string message, which can be blank if desired
- </tp:docstring>
- </arg>
- <arg direction="in" name="Reason" type="u"
- tp:type="Channel_Group_Change_Reason">
- <tp:docstring>
- A reason for the change
- </tp:docstring>
- </arg>
- <tp:docstring>
- As <tp:member-ref>RemoveMembers</tp:member-ref>, but a reason code may
- be provided where
- appropriate. The reason code may be ignored if the underlying
- protocol is unable to represent the given reason.
- </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.PermissionDenied"/>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidHandle"/>
- <tp:error name="org.freedesktop.Telepathy.Error.InvalidArgument">
- <tp:docstring>
- The provided reason code was invalid.
- </tp:docstring>
- </tp:error>
- </tp:possible-errors>
- </method>
-
- <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
- <p>Interface for channels which have multiple members, and where the members
- of the channel can change during its lifetime. Your presence in the channel
- cannot be presumed by the channel's existence (for example, a channel you
- may request membership of but your request may not be granted).</p>
-
- <p>This interface implements three lists: a list of current members
- (<tp:member-ref>Members</tp:member-ref>), and two lists of local pending
- and remote pending members
- (<tp:member-ref>LocalPendingMembers</tp:member-ref> and
- <tp:member-ref>RemotePendingMembers</tp:member-ref>, respectively).
- Contacts on the remote
- pending list have been invited to the channel, but the remote user has not
- accepted the invitation. Contacts on the local pending list have requested
- membership of the channel, but the local user of the framework must accept
- their request before they may join. A single contact should never appear on
- more than one of the three lists. The lists are empty when the channel is
- created, and the <tp:member-ref>MembersChanged</tp:member-ref> signal
- (and, if the channel's <tp:member-ref>GroupFlags</tp:member-ref> contains
- Members_Changed_Detailed, the
- <tp:member-ref>MembersChangedDetailed</tp:member-ref> signal)
- should be emitted when information
- is retrieved from the server, or changes occur.</p>
-
- <p>If the <tp:member-ref>MembersChanged</tp:member-ref> or
- <tp:member-ref>MembersChangedDetailed</tp:member-ref> signal indicates
- that the <tp:member-ref>SelfHandle</tp:member-ref> has been removed from
- the channel, and the channel subsequently emits <tp:dbus-ref
- namespace="org.freedesktop.Telepathy.Channel">Closed</tp:dbus-ref>,
- clients SHOULD consider the details given in the MembersChanged or
- MembersChangedDetailed signal to be the reason why the channel closed.</p>
-
- <p>Addition of members to the channel may be requested by using
- <tp:member-ref>AddMembers</tp:member-ref>. If
- remote acknowledgement is required, use of the AddMembers method will cause
- users to appear on the remote pending list. If no acknowledgement is
- required, AddMembers will add contacts to the member list directly. If a
- contact is awaiting authorisation on the local pending list, AddMembers
- will grant their membership request.</p>
-
- <p>Removal of contacts from the channel may be requested by using
- <tp:member-ref>RemoveMembers</tp:member-ref>. If a contact is awaiting
- authorisation on the local pending
- list, RemoveMembers will refuse their membership request. If a contact is
- on the remote pending list but has not yet accepted the invitation,
- RemoveMembers will rescind the request if possible.</p>
-
- <p>It should not be presumed that the requester of a channel implementing this
- interface is immediately granted membership, or indeed that they are a
- member at all, unless they appear in the list. They may, for instance,
- be placed into the remote pending list until a connection has been
- established or the request acknowledged remotely.</p>
-
- <p>If the local user joins a Group channel whose members or other state
- cannot be discovered until the user joins (e.g. many chat room
- implementations), the connection manager should ensure that the channel
- is, as far as possible, in a consistent state before adding the local
- contact to the members set; until this happens, the local contact should
- be in the remote-pending set. For instance, if the connection manager
- queries the server to find out the initial members list for the
- channel, it should leave the local contact in the remote-pending set
- until it has finished receiving the initial members list.
- </p>
-
- <p>If the protocol provides no reliable way to tell whether the complete
- initial members list has been received yet, the connection manager
- should make a best-effort attempt to wait for the full list
- (in the worst case, waiting for a suitable arbitrary timeout)
- rather than requiring user interfaces to do so on its behalf.</p>
- </tp:docstring>
- </interface>
-</node>
-<!-- vim:set sw=2 sts=2 et ft=xml: -->