2
<node name="/Channel_Type_Room_List" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
3
<tp:copyright> Copyright (C) 2005, 2006 Collabora Limited </tp:copyright>
4
<tp:copyright> Copyright (C) 2005, 2006 Nokia Corporation </tp:copyright>
5
<tp:copyright> Copyright (C) 2006 INdT </tp:copyright>
6
<tp:license xmlns="http://www.w3.org/1999/xhtml">
7
<p>This library is free software; you can redistribute it and/or
8
modify it under the terms of the GNU Lesser General Public
9
License as published by the Free Software Foundation; either
10
version 2.1 of the License, or (at your option) any later version.</p>
12
<p>This library is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
Library General Public License for more details.</p>
17
<p>You should have received a copy of the GNU Lesser General Public
18
License along with this library; if not, write to the Free Software
19
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</p>
21
<interface name="org.freedesktop.Telepathy.Channel.Type.RoomList">
22
<tp:requires interface="org.freedesktop.Telepathy.Channel"/>
23
<method name="GetListingRooms">
24
<arg direction="out" type="b">
26
A boolean indicating if room listing is in progress
30
Check to see if there is already a room list request in progress
34
<signal name="GotRooms">
35
<arg name="rooms" type="a(usa{sv})">
36
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
37
An array of structs containing:
39
<li>an integer room handle</li>
40
<li>a string representing the D-Bus interface name of the channel type</li>
41
<li>a dictionary mapping string keys to variant boxed information</li>
45
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
46
<p>Emitted when information about rooms on the server becomes available.
47
The array contains the room handle (as can be passed to the
48
RequestChannel method with HANDLE_TYPE_ROOM), the channel
49
type, and a dictionary containing further information about the
50
room as available. The following well-known keys and types are
51
recommended for use where appropriate:</p>
54
<dt>s:name</dt><dd>The name of the room if different from the handle</dd>
55
<dt>s:subject</dt><dd>The subject of the room</dd>
56
<dt>u:members</dt><dd>The number of members of the room</dd>
57
<dt>b:password</dt><dd>True if the room requires a password to enter</dd>
58
<dt>b:invite-only</dt><dd>True if you cannot join the room, but must be invited</dd>
62
<method name="ListRooms">
64
Request the list of rooms from the server. The ListingRooms signal
65
should be emitted when this request is being processed, GotRooms when
66
any room information is received, and ListingRooms when the request
70
<tp:error name="org.freedesktop.Telepathy.Error.Disconnected"/>
71
<tp:error name="org.freedesktop.Telepathy.Error.NetworkError"/>
72
<tp:error name="org.freedesktop.Telepathy.Error.NotAvailable"/>
73
<tp:error name="org.freedesktop.Telepathy.Error.PermissionDenied"/>
76
<method name="StopListing">
78
Stop the room listing if it's in progress, but don't close the channel.
79
The ListingRooms signal should be emitted when the listing stops.
82
<signal name="ListingRooms">
83
<arg name="listing" type="b">
84
<tp:docstring>A boolean indicating if room listing is in progress</tp:docstring>
87
Emitted to indicate whether or not room listing request is currently
91
<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
92
<p>A channel type for listing named channels available on the server. Once the
93
ListRooms method is called, it emits signals for rooms present on the
94
server, until you Close this channel. In some cases, it may not be possible
95
to stop the deluge of information from the server. This channel should be
96
closed when the room information is no longer being displayed, so that the
97
room handles can be freed.</p>
99
<p>This channel type may be implemented as a singleton on some protocols, so
100
clients should be prepared for the eventuality that they are given a
101
channel that is already in the middle of listing channels. The ListingRooms
102
signal, or GetListingRooms method, can be used to check this.</p>
106
<!-- vim:set sw=2 sts=2 et ft=xml: -->