[Bug 77189] [next] make TpBaseConnection GVariant-based

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 17 06:18:41 PDT 2014


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

--- Comment #22 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
(In reply to comment #10)
> That function no longer exists. I think you can just end the sentence after
> "subclass"?

Appears to be OK at the end of the branch.

> "channel implementations"

Fixed

(In reply to comment #13)
> I think I'd still prefer it if the API was more like [...]
> which I think would be enough to avoid having any glue in TpBaseConnection
> at all?

Now that the functions take a TpPresenceMixin *, it's:

    def constructed(self):
        Tp.PresenceMixin.init(self)
        # or possibly even self.init() if nothing else collides

    def fill_contact_attributes(self, *args):
        if Tp.PresenceMixin.fill_contact_attributes(self, *args):
            return
        ...

which I think is as minimal as we're going to get without coupling
TpBaseConnection to TpPresenceMixin. I think that's good enough.

> > -   * g_bus_get_sync() just after it is constructed; if this fails, this
> > +   * g_bus_get_sync() just after it is ; if this fails, this

Reverted

>  /**
>   * TpPresenceMixinGetContactStatusFunc:
> - * @obj: An object with this mixin.
> + * @self: A #TpBaseConnection implemeting #TpPresenceMixinInterface
> 
> Is this introspectable, or should it take a TpPresenceMixin *?

Changed it to take a TpPresenceMixin, and fixed s/implemeting/implementing/

> (If it isn't introspectable, maybe we should change TpBaseContactList while
> we still can.)

*** not yet done *** but it's off the critical path for this branch

> > + * @statuses: An array of #TpPresenceStatusSpec structures representing all
> > + *  presence statuses supported by the protocol, terminated by a NULL name.
> 
> I don't think this is introspectable. A vfunc returning the same thing would
> be better.

Done on a separate branch but it leads to some annoying changes to CMs. I'm
going to defer this to Bug #71508.

> It should be "typedef struct _TpPresenceMixin TpPresenceMixin" (an
> incomplete struct type that is declared but never defined).

Fixed.

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