Proposing ObjectManager interface

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Feb 28 08:04:48 PST 2011


On Mon, 28 Feb 2011 at 10:37:05 -0500, David Zeuthen wrote:
> [1] : for example, an object implementing the BlockDevice interface
> will implement the Filesystem interface only if the block device
> actually looks like a mountable filesystem.. and this changes as you
> run wipefs(8) and mkfs(8) on the device.

What's wrong with having /blahblah/sda1 (implements BlockDevice) and
/blahblah/sda1/fs (conditionally present, implements Filesystem), or something?

In Telepathy we get quite a lot of mileage out of the concept of "immutable
properties", which are properties that are guaranteed to be good for the
entire lifetime of an object (corollary: if they change, you have to signal
it as destruction and (possibly atomic) re-creation). This gives us a couple
of useful things:

* major round-trip reduction, by announcing an object's complete set of
  immutable properties in the same signal that announces its creation

* instant object usability (synchronously-ready objects without making
  blocking method calls) due to the above

* in some contexts (mapping a Channel to zero or more loggers and UIs for it,
  mainly), we allow arbitrary filtering (matching by equality) on the
  namespaced a{sv} of immutable properties, which means a cooperating protocol
  implementation and UI can arrange for that UI to get that protocol's
  Channels without modifying the generic ChannelDispatcher

I realise Telepathy's complexity is far from typical, though!

    S


More information about the dbus mailing list