-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 10/12/2013 19:00, Eric Blake ha scritto:
>>> +  'data': {'qom-type': 'str', 'id': 'str', '*props': 'dict'}, 
>>> +  'gen': 'no' }
> 
> This feels VERY open-coded.  No where else in qapi-schema do we 
> have 'dict' as a type

Yes, in fact the "data" field is entirely skipped by the code
generator (that's 'gen':'no').

> ; using it violates all sorts of type-safety (which, I guess, is 
> the point), making it impossible to introspect what keys are valid
>  for use in the "props":{...} dictionary.  Do we really want to 
> play this fast and loose with the type system, or should we try 
> harder to make this a robust self-describing union of types?
> 
> That is, why can't we have object-add use a discriminated union, 
> where qom-type is the discriminator, and where props is an 
> appropriate JSON struct type that corresponds to the branch of the
>  union, so that we get full introspection on the set of valid keys
>  to put in props for any given qom-type?

The point of "props" is passing arbitrary data to a QOM object.  We
should indeed have introspection for QOM objects, where each QOM class
name can be introspected separately.  However, the union of all
possible QOM objects need not have a "C struct" representation.

Thanks for your review!

Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJSp1opAAoJEBvWZb6bTYbyTBoP/RJVnEPZB/JyPH3ybHWpPdAs
3Khn04tSLTsgjmoLBdNwnIDgLQeS2nJYoASVrhIBDhA+heKWgeMH/NGvjB4t8Sug
szVUEmzyeLPEeOydyBX4AfG4yFK39ds3iVjZbJlqQ6Jw50KznIX7mJdgcPiL9ZgQ
PJjvFZ1HGqpNXYMhOPIPgkVEOuN7Z1I9Rf+gyyT2zggn+2Kmo7qs3t5sM1HHbA96
3dPV0PLwieDbqok5RpPFgHAQvrlueMiDEb9yBibfqQ/7blTvJ7tZOpaoXw+9ZddA
zOhBnl9O8vnSM7H+uGVulBtwAXJ4HzSeBIlJ03F5Jln57fmRvfqmhB2ewYlx1pJ3
oYmlyOnLhtVYRqWzry4DrqmewpB19BbHsEbo/9OsCSkfwCLeYQss0S5yeKZlm3GG
LO7zI1iUYulUJJAWbJjoO1MklVNLG9NFYhQkSD4x7mRA9UoYFcGPqK8A5m8XVSkE
APV9di6igTGDA9XvYVxYHZhXgnJ2RzdDXjLJU/gh59INzxaaJaAHM/ye4q0YjAN3
ywzmTnEdfPn4ZsTpnPUMhBIQs2bGMjq2mYoHOMVlkwvuyA8yFsOlFz4fAql/RjJQ
fwJCmJdxgxeRXyqkHOF4szUtTKJI6Pn80vxrMvVTNlPv2vw+AJmMW7LtUVXCbQlg
E/3heznvclCSoKNjrbuo
=BRjp
-----END PGP SIGNATURE-----

Reply via email to