[Bug 78376] remove tp_dbus_properties_mixin_class_init(), use "invisible mixin"

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu May 15 03:12:51 PDT 2014


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

--- Comment #2 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
There are two ways to use this mixin.

The original version is that you put a TpDBusPropertiesMixinClass in the class
struct, fill it with information about your interfaces, pass a nonzero second
parameter to tp_dbus_properties_mixin_class_init(), and the mixin uses qdata to
keep track of the offset, find the TpDBusPropertiesMixinClass and read info out
of it.

The "invisible mixin" is the code path where you don't put a
TpDBusPropertiesMixinClass in the class struct, pass 0 as the second parameter
to tp_dbus_properties_mixin_class_init(), and call
tp_dbus_properties_mixin_implement_interface() to register your interfaces.

If we convert everything to the "invisible mixin" code path then we can get rid
of tp_dbus_properties_mixin_class_init() entirely, and probably
TpDBusPropertiesMixinClass and a lot of other API too.

Here is one (already merged) example of switching some code to the "invisible
mixin":

http://cgit.freedesktop.org/telepathy/telepathy-mission-control/commit/?h=next&id=0ac96775c905c9b83d99fd5f6aca7bc4a8adf2de

-- 
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