[Bug 28974] Being able to observe connections

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Sep 23 12:45:36 CEST 2010


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

--- Comment #5 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-09-23 03:45:36 PDT ---
One way ConnectionObserver could work entirely within MC would be this:

* MC takes the union of the interfaces mentioned in ConnectionObservers'
property filters (for instance, if a filter says "…Conn.I.ContactList.CanSet":
TRUE, MC would put …Conn.I.ContactList in its set of interesting interfaces)

* whenever a connection becomes CONNECTED, MC fetches the properties of each
interesting interface, once, and compares them with the ConnectionObservers'
filters

* if a ConnectionObserver uses a property that is mutable after CONNECTED, this
is considered an error, but not diagnosed (MC can't know); MC will get an
arbitrary early value for it, and filter on that

* as a special case, either we define a pseudo-property
"…Conn.I.ContactList/exists" with value TRUE for every interface in Interfaces,
or we make the 'as' type pattern-match by "the value is a superset of the
pattern from the filter" in general

* whenever a new, previously unknown ConnectionObserver with Recover:TRUE
(analogous to the Observer property) appears on the bus, or whenever a
recoverable ConnectionObserver crashes, I think MC would have to re-fetch all
the properties from all Connections? That's probably better than caching
properties whose mutability and usefulness is unknown.

I don't actually think this is the right design: that last point sounds bad.

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