[API Change] Instant room list

Tomasz Wasilczyk tomkiewicz.groups at gmail.com
Tue Sep 11 14:53:18 EDT 2012


I am currently working on conferences for Gadu-Gadu protocol and it
turned out, there is a need for two new features in libpurple.

Display names vs chat room names:
conferences in Gadu-Gadu are identified by a single, 64-bit integer.
It doesn't look [1] really pretty, nor user-friendly. Original
Gadu-Gadu client uses [2] some chat participants to generate a name,
but Pidgin cannot handle it this way, because conference names
shouldn't change and should be unique. My idea was to provide an
optional "display name", used only for displaying chat name in UI. It
could be done just like purple_conv_chat_set_topic. Can I do it this

Instant room list:
Gadu-Gadu holds all accessible rooms list in memory, so there is no
need to perform any time consuming tasks to get it. That means, there
is no need for wait for clicking "Get list" button before displaying
it (more user-friendliness!). It could be performed in two ways:
- statically, by adding another protocol option: OPT_PROTO_INSTANT_ROOM_LIST
- dynamically, by adding "gboolean
*(*roomlist_is_ready)(PurpleConnection *gc);" callback - it could be
useful for protocols like IRC, to make use of previously got list
Can I implement one of these?

Also: purple_roomlist_set_in_progress cannot be called within
roomlist_get_list callback (see nullprpl). Is it a bug, or feature? I
just want to instantly return complete room list.

Waiting for comments and API related decisions,

[1] http://i.imgur.com/y1YJN.png
[2] http://i.imgur.com/Qwg7a.png

More information about the Devel mailing list