[Bug 31583] Expose TpProxyFeature in the API

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Nov 17 19:02:45 CET 2010


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

--- Comment #4 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-11-17 10:02:44 PST ---
Concerns about having this as our public API:

Feature introspection functions (start_preparing()) are quite boilerplate'y:
the ones on Connection all start with

* a check for whether they've already completed (feature-specific: the feature
might be able to grow extra functionality after CONNECTED)

* a check for whether we want them (not needed when called as
start_preparing(), but needed when CORE introspection has progressed)

* a check for whether the object's CORE/CONNECTED functionality is ready
(feature-specific: they might be able to achieve something without CONNECTED)

* a check for whether the same preparation is already in-flight

* a check for whether we have the desired interface

Also, the functions are generally called from two places: once from the
introspection pipeline, and once from the feature pseudo-vtable by TpProxy.

Features that don't need CONNECTED, but grow more functionality after CONNECTED
(of which there aren't any yet, but SimplePresence would be one such) need to
be able to delay CONNECTED state, which currently means they need to be able to
call into the object-specific introspection pipeline.

telepathy-qt4 abstracts some of this, but the cost is that it needs more
elaborate data structures, and its generic introspection pipeline is rather
complicated (it also has a special case for Connection's three statuses which
doesn't make sense on any other object!)

What feature in Empathy needs this? Can we put that feature in telepathy-glib
instead?

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- 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