Roadmap?

David Zeuthen david@fubar.dk
Mon, 13 Oct 2003 12:23:25 +0200


On Tue, 2003-09-23 at 04:07, Havoc Pennington wrote:
> That said I'm constantly trying to make the API as close to the final
> API as I can. ;-) Once the dbus-object-names branch lands, hopefully
> there won't be any more earth-shattering changes though there may be a
> series of little tweaks.
> 

Havoc,

Speaking of the final API, are there any definitive documents on this? I
can't find any.. If there are such a master document please point me to
it.

Reason I'm asking is that I'm checking out HEAD (where the objects stuff
got merged onto) and the stuff about named objects, interfaces and
method invocations looks like something I very much want to use in the
hal project [1]. 

Up until now I have used d-bus just to push messages around which really
comes down to a lot of checking on parameters both in the callee and the
caller. Works fine, but quite tedious... I'm thinking a real RPC
framework will help tremendously here. 

So, I'm curious to know what dbus will offer in comparison to other RPC
mechanisms.. I'd guess it'll be nice to have

 a.  type checking in method invocations, error handling (maybe just 
     as simple as XMLRPC with error and error.text)

 b.  IDL-compiler for generating stub/skeletons for mapping of values
     from/to language and/or support library specific data types.

 c.  asynchronous method calls using ''futures'' as the return value
     (''Active Object Pattern'' as used in ACE[2]).

 d.  BLOB datatype; like XMLRPC got base64

If this is indeed planned, when can we expect to see this on HEAD? ;-)

Oh, and the method/interface stuff, is that going to be useful in apps
not using glib or Qt, e.g. plain C apps?

Thanks,
David

[1] : specifically each hal device maps to an object with a number of
      different interfaces dependent on what the device can do

[2] : http://www.cs.wustl.edu/~schmidt/ACE.html