This reserves JSON objects that contain the key '__class__' for QMP-specific complex objects. First user will be the buffer class.
CC: Luiz Capitulino <lcapitul...@redhat.com> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> --- QMP/qmp-spec.txt | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/QMP/qmp-spec.txt b/QMP/qmp-spec.txt index 9d30a8c..fa1dd62 100644 --- a/QMP/qmp-spec.txt +++ b/QMP/qmp-spec.txt @@ -146,6 +146,15 @@ The format is: For a listing of supported asynchronous events, please, refer to the qmp-events.txt file. +2.6 Complex object classes +-------------------------- + +JSON objects that contain the key-value pair '"__class__": json-string' are +reserved for QMP-specific complex object classes that. QMP specifies which +further keys each of these objects include and how they are encoded. + +So far, no complex object class is specified. + 3. QMP Examples =============== @@ -229,9 +238,10 @@ avoid modifying QMP. Both upstream and downstream need to take care to preserve long-term compatibility and interoperability. To help with that, QMP reserves JSON object member names beginning with -'__' (double underscore) for downstream use ("downstream names"). This -means upstream will never use any downstream names for its commands, -arguments, errors, asynchronous events, and so forth. +'__' (double underscore) for downstream use ("downstream names"). Downstream +names MUST NOT end with '__' as this pattern is reserved for QMP-defined JSON +object classes. Upstream will never use any downstream names for its +commands, arguments, errors, asynchronous events, and so forth. Any new names downstream wishes to add must begin with '__'. To ensure compatibility with other downstreams, it is strongly -- 1.7.3.4