qapi-introspect: Hide type names

To eliminate the temptation for clients to look up types by name
(which are not ABI), replace all type names by meaningless strings.

Reduces output of query-schema by 13 out of 85KiB.

As a debugging aid, provide option -u to suppress the hiding.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <1442401589-24189-27-git-send-email-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2015-09-16 13:06:29 +02:00
parent 39a1815816
commit 1a9a507b2e
3 changed files with 56 additions and 33 deletions

View file

@ -75,17 +75,13 @@
# @SchemaInfo
#
# @name: the entity's name, inherited from @base.
# Entities defined in the QAPI schema have the name defined in
# the schema. Implicitly defined entities have generated
# names. See docs/qapi-code-gen.txt section "Client JSON
# Protocol introspection" for details.
# Commands and events have the name defined in the QAPI schema.
# Unlike command and event names, type names are not part of
# the wire ABI. Consequently, type names are meaningless
# strings here.
#
# All references to other SchemaInfo are by name.
#
# Command and event names are part of the wire ABI, but type names are
# not. Therefore, looking up a type by "well-known" name is wrong.
# Look up the command or event, then follow the references.
#
# @meta-type: the entity's meta type, inherited from @base.
#
# Additional members depend on the value of @meta-type.