[Bug 59024] Think about a more introspectable way of doing mixins

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jan 8 13:30:41 CET 2013


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

--- Comment #1 from Xavier Claessens <xclaesse at gmail.com> ---
Extra potential g-i problems:

6) tp_foo_mixin_init_dbus_properties(GObjectClass*): is it possible to call in
class_init in binding languages? what are the alternatives?

7) tp_foo_mixin_iface_init(): Can we give functions to implement the dbus
ifaces in a subclasses not in C?

8) tp_foo_mixin_do_something(): Will g-i understand that this is a function on
TpBaseConnection object? Will I be able to do base_connection.do_something()?


Maybe crazy, but I'm wondering if we should make those mixins really part of
TpBaseConnection, but optionally initialized. how it would looks like:

TpBaseConnectionPrivate{TpFooMixinPrivate *foo_mixin; ...}

TpBaseConnection::finalize{_tp_foo_mixin_free (self->priv->foo_mixin); ...}

tp_base_connection_init_foo(TpBaseConnection *self){self->priv->foo_mixin =
_tp_foo_mixin_new();}

tp_base_connection_foo_changed(TpBaseConnection *self)
{g_return_val_if_fail(self->priv->foo_mixin != NULL); ...}

But still that won't fix 6) and 7).

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