docs/qapi-domain: add :namespace: override option

Akin to the :module: override option, the :namespace: options allows you
to forcibly override the contextual namespace associatied with a
definition.

We don't necessarily actually need this, but I felt compelled to stick
close to how the Python domain works that offers context overrides.

As of this commit, it is possible to add e.g. ":namespace: QMP" to any
QAPI directive to forcibly associate that definition with a given
namespace.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-ID: <20250313044312.189276-5-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-13 00:43:05 -04:00 committed by Markus Armbruster
parent 74d40b011c
commit 9ca404f004
2 changed files with 5 additions and 2 deletions

View file

@ -466,6 +466,8 @@ QAPI standard options
All QAPI directives -- *except* for module -- support these common options. All QAPI directives -- *except* for module -- support these common options.
* ``:namespace: name`` -- This option allows you to override the
namespace association of a given definition.
* ``:module: modname`` -- Borrowed from the Python domain, this option allows * ``:module: modname`` -- Borrowed from the Python domain, this option allows
you to override the module association of a given definition. you to override the module association of a given definition.
* ``:since: x.y`` -- Allows the documenting of "Since" information, which is * ``:since: x.y`` -- Allows the documenting of "Since" information, which is

View file

@ -294,8 +294,9 @@ class QAPIObject(QAPIDescription):
) )
option_spec.update( option_spec.update(
{ {
# Borrowed from the Python domain: # Context overrides:
"module": directives.unchanged, # Override contextual module name "namespace": directives.unchanged,
"module": directives.unchanged,
# These are QAPI originals: # These are QAPI originals:
"since": directives.unchanged, "since": directives.unchanged,
"ifcond": directives.unchanged, "ifcond": directives.unchanged,