IDL language

Havoc Pennington hp at pobox.com
Sat May 9 06:39:48 PDT 2009


Hi,

On Sat, May 9, 2009 at 9:02 AM, David Zeuthen <david at fubar.dk> wrote:
> I'll change dynamic_struct to just be a{sv} - Simon already made a
> convincing point about that elsewhere in the thread. Sure, throwing away
> the name (e.g. going from (sa{sv}) to a{sv}) means it's going to be a
> little harder handling
>
>  GetStuff (variant value);
>
> where @value is a a{sv} that can either be AtaSmart or ScsiData which
> are both declared as dynamic_struct / using @ArgTypeHints (this was the
> intent for including the name). I guess that C programmers will have to
> live with that. On the upside it won't screw over gjs programmers and it
> is backwards compatible.

Awesome. Yeah, I think supporting full type info in variants is a
slippery slope that's best avoided. It is certainly going to be a
little annoying in certain cases, but I think can be worked around.

>  - we will introduce something like a @org.freedesktop.DBus.DocString
>   annotation

The doc string (1 sentence) is probably really easy; the longer docs
kept creating discussions about what sort of markup was in them. It
seems we need some sort of simple answer to that if we have longer
docs.

>  - the typelib lives in /usr/share/dbus-1/typelib and is just a flat
>   directory with a bunch of conforming files

vs. /usr/share/dbus-1/interfaces/ ?

I don't have a strong preference on the name of the directory

> Does these assumption sound good?

Sound about right to me, I haven't thought about the details too much.

>  - do we want a dbus-typelib-install(1) command that validates these
>   assumptions? Might be useful to also make it yell about warnings
>   such as missing docs etc.

like desktop-file-install? I think maybe people mostly use
desktop-file-validate instead? I'm not sure. Anyway a validator sounds
nice.

>    <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
>     "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
>
>   for example
>
>    <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Type Library 1.0//EN"
>     "http://www.freedesktop.org/standards/dbus/1.0/typelib.dtd">
>
>   I don't know.

Making the typelib a superset of introspection I _think_ should be
possible; in theory the typelib doesn't have the path nodes stuff, and
the introspection might not want to include docs (especially localized
docs), but otherwise they are similar afaik.

Keeping them similar would let us kind of move toward a model where
there are calls to just return child nodes and interface names, and
then the caller would grab the typelibs off the disk if needed.

Havoc


More information about the dbus mailing list