On Wed, Sep 16, 2015 at 01:06:14PM +0200, Markus Armbruster wrote:
> Fixes events whose data is struct with base to include the struct's
> base members. Test case is qapi-schema-test.json's event
> __org.qemu_x-command:
>
> { 'event': '__ORG.QEMU_X-EVENT', 'data': '__org.qemu_x-Struct' }
>
> { 'struct': '__org.qemu_x-Struct', 'base': '__org.qemu_x-Base',
> 'data': { '__org.qemu_x-member2': 'str' } }
>
> { 'struct': '__org.qemu_x-Base',
> 'data': { '__org.qemu_x-member1': '__org.qemu_x-Enum' } }
>
> Patch's effect on generated qapi_event_send___org_qemu_x_event():
>
> -void qapi_event_send___org_qemu_x_event(const char *__org_qemu_x_member2,
> +void qapi_event_send___org_qemu_x_event(__org_qemu_x_Enum
> __org_qemu_x_member1,
> + const char *__org_qemu_x_member2,
> Error **errp)
> {
> QDict *qmp;
> @@ -224,6 +225,10 @@ void qapi_event_send___org_qemu_x_event(
> goto clean;
> }
>
> + visit_type___org_qemu_x_Enum(v, &__org_qemu_x_member1,
> "__org.qemu_x-member1", &local_err);
> + if (local_err) {
> + goto clean;
> + }
> visit_type_str(v, (char **)&__org_qemu_x_member2,
> "__org.qemu_x-member2", &local_err);
> if (local_err) {
> goto clean;
>
> Signed-off-by: Markus Armbruster <[email protected]>
> Reviewed-by: Eric Blake <[email protected]>
> ---
> scripts/qapi-event.py | 89
> +++++++++++++++++----------------
> tests/qapi-schema/qapi-schema-test.json | 3 --
> 2 files changed, 47 insertions(+), 45 deletions(-)
Reviewed-by: Daniel P. Berrange <[email protected]>
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|