Proposal and RFC: DAL, the Desktop Abstraction Layer

Havoc Pennington hp@redhat.com
Sat Jan 15 15:22:19 PST 2005


On Sat, 2005-01-15 at 15:39 -0500, David Collier-Brown wrote:
>   In the Unix/C world, this was conventionally simulated via playing
> with names.  read() is a normal interface, _read() is one reserved for
> internal use, and __read, ___read and so on are treated the same as
> _read.

We can do simple naming convention stuff (e.g. .internal. in the
namespace, Eclipse does this with Java) but it doesn't enforce anything.

>   Solaris has a tool, appcert, which checks for use of reserved
> interfaces, as part of the normal versioning scheme, and reports
> use of the reserved ones by applications.

Right, have seen this one.

>   There is an elegant way, assuming you're using ELF or better: write
> a filter library that exports only the public interfaces to external
> callers, and only document the filtered interfaces and the filter
> library.  This causes one extra lookup and open when the library
> is first used, but no extra work once that's done.

I have the problem solved for ELF, libdbus only exports public symbols.
The issue here is dbus interfaces.

Havoc




More information about the dbus mailing list