docs/qapi-domain: add qapi:object directive

Adds the .. qapi:object:: directive, object, and :qapi:obj:`name`
cross-referencing role. This directive is meant to document both structs
and unions.

As per usual, QAPI cross-referencing for types in the member field list
will be added in a forthcoming commit.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250311034303.75779-23-jsnow@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
John Snow
2025-03-11 10:10:56 +01:00
committed by Markus Armbruster
parent 6d5f6f69ca
commit 3fe3349d23
+7
View File
@@ -367,6 +367,10 @@ class QAPIEvent(QAPIObjectWithMembers):
"""Description of a QAPI Event."""
class QAPIJSONObject(QAPIObjectWithMembers):
"""Description of a QAPI Object: structs and unions."""
class QAPIModule(QAPIDescription):
"""
Directive to mark description of a new module.
@@ -495,6 +499,7 @@ class QAPIDomain(Domain):
"command": ObjType(_("command"), "cmd", "any"),
"event": ObjType(_("event"), "event", "any"),
"enum": ObjType(_("enum"), "enum", "type", "any"),
"object": ObjType(_("object"), "obj", "type", "any"),
"alternate": ObjType(_("alternate"), "alt", "type", "any"),
}
@@ -505,6 +510,7 @@ class QAPIDomain(Domain):
"command": QAPICommand,
"event": QAPIEvent,
"enum": QAPIEnum,
"object": QAPIJSONObject,
"alternate": QAPIAlternate,
}
@@ -516,6 +522,7 @@ class QAPIDomain(Domain):
"cmd": QAPIXRefRole(),
"event": QAPIXRefRole(),
"enum": QAPIXRefRole(),
"obj": QAPIXRefRole(), # specifically structs and unions.
"alt": QAPIXRefRole(),
# reference any data type (excludes modules, commands, events)
"type": QAPIXRefRole(),