first cut of hal service description file

David Zeuthen david at
Thu Mar 31 20:42:22 PST 2005

On Thu, 2005-03-31 at 22:55 -0500, Havoc Pennington wrote:
> > and for Java this might give the following generated client code
> > 
> >  package org.freedesktop.Hal
> > 
> >  interface Device {
> >    boolean Lock (String reason) throws NoSuchDevice, PermissionDenied,
> >                                        AlreadyLocked, DBusException;
> >  };
> > 
> See, this is an ABI that will break if you add/remove exceptions. 

Well, no, this wont break as all of NoSuchDevice, PermissionDenied,
AlreadyLocked are all app-specific exceptions. 

The application deals with transport exceptions through DBusException.
Of course, if someone uses a new D-BUS transport that throws fancy new
exceptions the app will break as well but we already know that network
transparency is hard.

So, you don't you consider it ABI breakage if the application HAL
removes / adds exceptions in a supposedly stable ABI? I surely do.


More information about the dbus mailing list