[Bug 14540] Names interface - Aliasing replacement with separate nickname, local alias etc.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 17 11:22:34 CEST 2012


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

--- Comment #29 from Xavier Claessens <xclaesse at gmail.com> 2012-09-17 09:22:34 UTC ---
(In reply to comment #28)
> (In reply to comment #27)
> > +/* Initialisation */
> > +void tp_names_mixin_init (GObject *object,
> > + glong offset,
> > + TpNamesMixinRequestNicknameAsyncFunc request_nickname_async,
> > + TpNamesMixinSetNicknameAsyncFunc set_nickname_async,
> > + TpNamesMixinSetLocalAliasAsyncFunc set_local_alias_async,
> > + TpContactMetadataStorageType alias_storage);
> > 
> > I would be tempted to require the TpBaseConnection to implement a GInterface
> > (TpNamingConnection?) that has these as ordinary virtual methods?
> 
> Because other mixin I've copied does that. But I agree taking a
> TpBaseConnection is nicer. Adding an iface (TpNamesInterface?) for the vmethods
> and taking that iface in args would be even better :-)
> 
> Will do that.

Actually mixins are a mess:
1) TpBaseContactList: must be subclassed
2) TpPresenceMixin: no interface but a TpPresenceMixinClass to include in class
struct.
3) TpAvatarsMixin: no interface and no class struct, virtual methods are in
instance's private.
4) TpNamesMixin: like TpAvatarsMixin because I've copied it.
5) TpGroupMixin: like TpPresenceMixin, but the class struct does not have
padding for future extension but it has a private struct (that is leaked, btw)

3 and 4 are easy to change since no CM uses them yet, and they did not get
merged in master. So I guess the best to keep a bit consistent is adding a
TpNamesMixinClass for the vmethods.

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



More information about the telepathy-bugs mailing list