qemu-e2k/qapi
Eric Blake 983f52d4b3 qapi-visit: Add visitor.type classification
We have three classes of QAPI visitors: input, output, and dealloc.
Currently, all implementations of these visitors have one thing in
common based on their visitor type: the implementation used for the
visit_type_enum() callback.  But since we plan to add more such
common behavior, in relation to documenting and further refining
the semantics, it makes more sense to have the visitor
implementations advertise which class they belong to, so the common
qapi-visit-core code can use that information in multiple places.

A later patch will better document the types of visitors directly
in visitor.h.

For this patch, knowing the class of a visitor implementation lets
us make input_type_enum() and output_type_enum() become static
functions, by replacing the callback function Visitor.type_enum()
with the simpler enum member Visitor.type.  Share a common
assertion in qapi-visit-core as part of the refactoring.

Move comments in opts-visitor.c to match the refactored layout.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1461879932-9020-2-git-send-email-eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2016-05-12 09:47:54 +02:00
..
Makefile.objs rename parse_enum_option to qapi_enum_parse and make it public 2014-09-08 11:12:43 +01:00
block-core.json block: add generic full disk encryption driver 2016-03-30 12:11:26 +02:00
block.json qmp event: Refactor QUORUM_REPORT_BAD 2016-03-14 16:46:43 +01:00
common.json kvm: add support for -machine kernel_irqchip=split 2015-12-17 17:15:40 +01:00
crypto.json crypto: implement the LUKS block encryption format 2016-03-17 16:50:40 +00:00
event.json qmp event: Refactor QUORUM_REPORT_BAD 2016-03-14 16:46:43 +01:00
introspect.json qapi: Use anonymous bases in QMP flat unions 2016-03-18 10:29:26 +01:00
opts-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
qapi-dealloc-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
qapi-util.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qapi-visit-core.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
qmp-dispatch.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
qmp-event.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
qmp-input-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
qmp-output-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
qmp-registry.c qapi: Clean up includes 2016-02-04 17:41:30 +00:00
rocker.json qmp/hmp: add rocker device support 2015-06-12 13:42:17 +01:00
string-input-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
string-output-visitor.c qapi-visit: Add visitor.type classification 2016-05-12 09:47:54 +02:00
trace.json qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00