Philip Van Hoof wrote:

I'm open for suggestions.

- The type element should be reusable (cascading/externalRef?) between
schemes

I would be very careful here - any type cock up would seriously compromise the config system. Consider two schemae that redefine a type "my_type_format" to two different formats, which one do you use?

Generally it would be safer to define some static aliases (like the list of types Waldo gave you) and not allow user definable types to be aliased at all. (of course if you can find a way to make user definable aliases unique and safe then that would be cool)

[snip]
> typedef struct {
>
>   int my_num;
>   char *my_str;
>   double my_double;
>   int *my_bools;
>
> } my_special_one;
>
> This one would become a non-homogeneous list that embeds a integer, a
> string a double and a list with doubles. Like this:
>
> <type wire="ai" alias="my_special_one" real="list"
> format="non-homogeneous">

This looks wrong - they dbus type cannot be "ai" here - it should be "(isdab)"

>   <list>
> <type wire="i" alias="my_num" real="simple" format="integer"/>
> <type wire="s" alias="my_str" real="simple" format="string"/>
> <type wire="d" alias="my_double" real="simple" format="double"/>
> <type wire="ab" alias="" real="list" format="boolean"/>

we should not allow arrays to be embedded into structs! If you do you wont know how to de/serialize it from/to a comma seperated string stored in a DB or inifile (this is true if the array of booleans was in the middle of the struct).

If we have an alias in the type declaration why do we need the other fields (wire, real, format)?

Doesn't that defeat the purpose of it as the alias should define all that info elsewhere in the schema.


--
Mr Jamie McCracken
http://www.advogato.org/person/jamiemcc/
_______________________________________________
xdg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xdg

Reply via email to