Marc-André Lureau <[email protected]> writes:

> Add an optional 'qapi-type' field to ObjectPropertyInfo and
> ObjectPropertyValue. When present, it contains the masked type name that
> can be looked up in query-qmp-schema output. Absent for properties
> without a QAPI type association.

Always absent at this point, isn't it?

> Signed-off-by: Marc-André Lureau <[email protected]>
> ---
>  qapi/qom.json | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
>
> diff --git a/qapi/qom.json b/qapi/qom.json
> index dd45ac1087c..a655be0beaa 100644
> --- a/qapi/qom.json
> +++ b/qapi/qom.json
> @@ -35,6 +35,11 @@
   ##
   # @ObjectPropertyInfo:
   #
   # @name: the name of the property
   #
   # @type: the type of the property.  This will typically come in one of
   #     four forms:
   #
   #     1) A primitive type such as 'u8', 'u16', 'bool', 'str', or
   #        'double'.  These types are mapped to the appropriate JSON
   #        type.
   #
   #     2) A child type in the form 'child<subtype>' where subtype is a
   #        qdev device type name.  Child properties create the
   #        composition tree.
   #
   #     3) A link type in the form 'link<subtype>' where subtype is a
>  #        qdev device type name.  Link properties form the device model
>  #        graph.

The description of @type is problematic, and will need an update at some
time.

>  #
> +# @qapi-type: if the property was registered with a QAPI type
> +#     association, the type name as it appears in the output of
> +#     ``query-qmp-schema``.  Absent for properties without a QAPI
> +#     type association.  (since 11.1)

Whether "the property was registered with a QAPI type association" is
implementation detail.

Maybe

   # @qapi-type: the name of the property's type name as it appears in
   #     the output of ``query-qmp-schema``.  Absent if the type does not
   #     occur there.  (since 11.2)

This is inaccurate now --- it can also be absent when we haven't gotten
around to fix the property --- but it hopefully becomes accurate soon,
and should be good enough until then.

> +#
>  # @description: if specified, the description of the property.
>  #
>  # @default-value: the default value, if any (since 5.0)
> @@ -44,6 +49,7 @@
>  { 'struct': 'ObjectPropertyInfo',
>    'data': { 'name': 'str',
>              'type': 'str',
> +            '*qapi-type': 'str',
>              '*description': 'str',
>              '*default-value': 'any' } }
>  
> @@ -55,6 +61,11 @@
>  # @type: the type of the property, as described in
>  #     `ObjectPropertyInfo`.
>  #
> +# @qapi-type: if the property was registered with a QAPI type
> +#     association, the type name as it appears in the output of
> +#     ``query-qmp-schema``.  Absent for properties without a QAPI
> +#     type association.  (since 11.1)
> +#

Likewise.

>  # @value: the value of the property.  Absent when the property cannot
>  #     be read.
>  #
> @@ -63,6 +74,7 @@
>  { 'struct': 'ObjectPropertyValue',
>    'data': { 'name': 'str',
>              'type': 'str',
> +            '*qapi-type': 'str',
>              '*value': 'any' } }
>  
>  ##


Reply via email to