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