Proposal and RFC: DAL, the Desktop Abstraction Layer
Fri Jan 14 07:23:51 PST 2005
On Fri, 2005-01-14 at 14:44 +0000, Jamie McCracken wrote:
> Looking at the API, I cant see a function that retrieves a list of
> services that implement an interface.
> Dont forget we are not just dealing with services that are running and
> looking at the API I also can't see an easy way of saying activate a
> service that implements the interfaces x,y and z (maybe I have missed
> something? - The impression I get is Dbus knows bugger all about
I consider it a feature that D-BUS has a very dynamic approach and does
not impose specific interfaces on its services. If I wanted strictly
specified interfaces, I could write IDL files and use CORBA! :-)
Speaking of CORBA, pre-defined interfaces for doing this and that exist
there already and are called "CORBAservices":
Anyway, if someone feel the need to be able to activate a service that
implements interfaces x, y and z I suggest something like the following.
It does not require any changes to D-BUS:
1. Create a D-BUS service with interfaces to:
a) register what interfaces a service provides
b) activate a service that implements interfaces x, y and z
2. Let the services be responsible for providing the interface they say
3. Encourage those who implements FreeDesktop.org's and others'
standardized interfaces to have their applications register with the
above D-BUS service.
By the way, I don't think interface versioning is such a big issue with
D-BUS. If, for example, a method gets a new parameter, the server can
check for the presence of that last parameter and use it if it was sent
by the client. If the data type for a parameter changes, the server can
check the data type before reading the data.
-\- David Eriksson -/-
SynCE - http://synce.sourceforge.net
ScummVM - http://scummvm.sourceforge.net
Desquirr - http://desquirr.sourceforge.net
More information about the dbus