summaryrefslogtreecommitdiff
path: root/spec/Channel_Type_Room_List.xml
diff options
context:
space:
mode:
authorAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>2011-01-07 01:08:02 -0200
committerAndre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>2011-01-07 18:27:15 -0200
commitcf6fee0bf643c65956e2ab20ea50666833a0e3af (patch)
treec13fd20a1da3e1d8b4170aa754fb12a3b2e36c08 /spec/Channel_Type_Room_List.xml
Start developement.
Diffstat (limited to 'spec/Channel_Type_Room_List.xml')
-rw-r--r--spec/Channel_Type_Room_List.xml166
1 files changed, 166 insertions, 0 deletions
diff --git a/spec/Channel_Type_Room_List.xml b/spec/Channel_Type_Room_List.xml
new file mode 100644
index 0000000..98f7458
--- /dev/null
+++ b/spec/Channel_Type_Room_List.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" ?>
+<node name="/Channel_Type_Room_List" 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.Type.RoomList">
+ <tp:requires interface="org.freedesktop.Telepathy.Channel"/>
+
+ <tp:struct name="Room_Info" array-name="Room_Info_List">
+ <tp:member type="u" tp:type="Room_Handle" name="Handle"/>
+ <tp:member type="s" tp:type="DBus_Interface" name="Channel_Type"/>
+ <tp:member type="a{sv}" tp:type="String_Variant_Map" name="Info"/>
+ </tp:struct>
+
+ <property name="Server" tp:name-for-bindings="Server"
+ type="s" access="read">
+ <tp:docstring>
+ <p>For protocols with a concept of chatrooms on multiple servers
+ with different DNS names (like XMPP), the DNS name of the server
+ whose rooms are listed by this channel, e.g. "conference.jabber.org".
+ Otherwise, the empty string.</p>
+
+ <p>This property cannot change during the lifetime of the channel.</p>
+ </tp:docstring>
+ </property>
+
+ <method name="GetListingRooms" tp:name-for-bindings="Get_Listing_Rooms">
+ <arg direction="out" type="b" name="In_Progress">
+ <tp:docstring>
+ A boolean indicating if room listing is in progress
+ </tp:docstring>
+ </arg>
+ <tp:docstring>
+ Check to see if there is already a room list request in progress
+ on this channel.
+ </tp:docstring>
+ </method>
+
+ <signal name="GotRooms" tp:name-for-bindings="Got_Rooms">
+ <arg name="Rooms" type="a(usa{sv})" tp:type="Room_Info[]">
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ An array of structs containing:
+ <ul>
+ <li>an integer room handle</li>
+ <li>a string representing the D-Bus interface name of the channel type</li>
+ <li>a dictionary mapping string keys to variant boxed information</li>
+ </ul>
+ </tp:docstring>
+ </arg>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>Emitted when information about rooms on the server becomes available.
+ The array contains the room handle (as can be passed to the
+ <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Connection">RequestChannel</tp:dbus-ref>
+ method with HANDLE_TYPE_ROOM), the channel
+ type, and a dictionary containing further information about the
+ room as available. The following well-known keys and types are
+ recommended for use where appropriate:</p>
+
+ <dl>
+ <dt>handle-name (s)</dt>
+ <dd>The identifier of the room (as would be returned by
+ <tp:dbus-ref namespace="org.freedesktop.Telepathy.Connection">InspectHandles</tp:dbus-ref>)</dd>
+
+ <dt>name (s)</dt>
+ <dd>The human-readable name of the room if different from the handle</dd>
+
+ <dt>description (s)</dt>
+ <dd>A description of the room's overall purpose</dd>
+
+ <dt>subject (s)</dt>
+ <dd>The current subject of conversation in the room (as would
+ be returned by getting the string part of the <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Channel.Interface.Room.DRAFT"
+ >Subject</tp:dbus-ref> property)</dd>
+
+ <dt>members (u)</dt>
+ <dd>The number of members in the room</dd>
+
+ <dt>password (b)</dt>
+ <dd>True if the room requires a password to enter</dd>
+
+ <dt>invite-only (b)</dt>
+ <dd>True if you cannot join the room, but must be invited</dd>
+
+ <dt>room-id (s)</dt>
+ <dd>The human-readable identifier of a chat room (as would be
+ returned by getting the <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Channel.Interface.Room.DRAFT"
+ >RoomID</tp:dbus-ref> property)</dd>
+
+ <dt>server (s)</dt>
+ <dd>The DNS name of the server hosting these channels (as would be
+ returned by getting the <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Channel.Interface.Room.DRAFT"
+ >Server</tp:dbus-ref> property)</dd>
+ </dl>
+ </tp:docstring>
+ </signal>
+ <method name="ListRooms" tp:name-for-bindings="List_Rooms">
+ <tp:docstring>
+ Request the list of rooms from the server. The
+ <tp:member-ref>ListingRooms</tp:member-ref> (True) signal should be
+ emitted when this request is being processed,
+ <tp:member-ref>GotRooms</tp:member-ref> when any room information is
+ received, and <tp:member-ref>ListingRooms</tp:member-ref> (False) when
+ the request is complete.
+ </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:possible-errors>
+ </method>
+ <method name="StopListing" tp:name-for-bindings="Stop_Listing">
+ <tp:docstring>
+ Stop the room listing if it's in progress, but don't close the channel.
+ The <tp:member-ref>ListingRooms</tp:member-ref> (False) signal should
+ be emitted when the listing stops.
+ </tp:docstring>
+ </method>
+ <signal name="ListingRooms" tp:name-for-bindings="Listing_Rooms">
+ <arg name="Listing" type="b">
+ <tp:docstring>A boolean indicating if room listing is in progress</tp:docstring>
+ </arg>
+ <tp:docstring>
+ Emitted to indicate whether or not room listing request is currently
+ in progress.
+ </tp:docstring>
+ </signal>
+ <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+ <p>A channel type for listing named channels available on the server. Once the
+ <tp:member-ref>ListRooms</tp:member-ref> method is called, it emits signals for rooms present on the
+ server, until you <tp:dbus-ref
+ namespace="org.freedesktop.Telepathy.Channel">Close</tp:dbus-ref> this
+ channel. In some cases, it may not be possible
+ to stop the deluge of information from the server. This channel should be
+ closed when the room information is no longer being displayed, so that the
+ room handles can be freed.</p>
+
+ <p>This channel type may be implemented as a singleton on some protocols, so
+ clients should be prepared for the eventuality that they are given a
+ channel that is already in the middle of listing channels. The
+ <tp:member-ref>ListingRooms</tp:member-ref> signal, or
+ <tp:member-ref>GetListingRooms</tp:member-ref> method, can be used to check
+ this.</p>
+ </tp:docstring>
+ </interface>
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->