[Bug 33901] add tp_capabilities_supports_room_list()

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Feb 9 13:28:23 CET 2011


https://bugs.freedesktop.org/show_bug.cgi?id=33901

--- Comment #2 from Will Thompson <will.thompson at collabora.co.uk> 2011-02-09 04:28:23 PST ---
You should also return a list of known servers, by scanning all the channel
classes for requests with Server in Fixed. I don't know if Gabble implements
it, but it sure should.

Assuming Gabble does this, then we can say something like “if with_server is
set to %TRUE, but known_servers is empty, requests which do not specify Server
can be expected to fail”. This is only applicable when calling this function on
the caps from a running connection in Gabble's case I guess.

+      for (j = 0; allowed_properties[j] != NULL; j++)
+        {
+          if (!tp_strdiff (allowed_properties[j],
+                TP_PROP_CHANNEL_TYPE_ROOM_LIST_SERVER))
+            server = TRUE;
+        }

This is secret code for:

       server = tp_strv_contains (allowed_properties,
TP_PROP_CHANNEL_TYPE_ROOM_LIST_SERVER);

+ * Return whether this protocol or connection can perform rooms
+ * listing.

“Returns whether or not this protocol or connection supports listing rooms.”


+ * Return whether this protocol or connection can perform rooms
+ * listing.
+ *
+ * Returns: %TRUE if a channel request containing RoomList as ChannelType,
+ * HandleTypeNone as TargetHandleType can be expected to work,
+ * %FALSE otherwise.

I actually think these should be swapped around. The body should say something
like:

  Discovers whether this protocol or connection supports listing rooms.
Specifically, if this function returns %TRUE, a room list channel can be
requested as follows:

  |[ ... code for requesting a channel ... ]|

  If with_server is set to %TRUE, a list of rooms on a particular server can be
requested as follows:

  |[ ... ]|

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the telepathy-bugs mailing list