浏览代码

docs/devel/qapi-code-gen: Extend example for next commit's change

The next commit will change the code generated for some optional
members.  The example schema contains an optional member affected by
the change.  Add one that is not affected.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20221104160712.3005652-4-armbru@redhat.com>
Markus Armbruster 2 年之前
父节点
当前提交
94f9bd33ee
共有 1 个文件被更改,包括 20 次插入1 次删除
  1. 20 1
      docs/devel/qapi-code-gen.rst

+ 20 - 1
docs/devel/qapi-code-gen.rst

@@ -1357,7 +1357,7 @@ qmp_my_command(); everything else is produced by the generator. ::
 
 
     $ cat example-schema.json
     $ cat example-schema.json
     { 'struct': 'UserDefOne',
     { 'struct': 'UserDefOne',
-      'data': { 'integer': 'int', '*string': 'str' } }
+      'data': { 'integer': 'int', '*string': 'str', '*flag': 'bool' } }
 
 
     { 'command': 'my-command',
     { 'command': 'my-command',
       'data': { 'arg1': ['UserDefOne'] },
       'data': { 'arg1': ['UserDefOne'] },
@@ -1412,6 +1412,8 @@ Example::
         int64_t integer;
         int64_t integer;
         bool has_string;
         bool has_string;
         char *string;
         char *string;
+        bool has_flag;
+        bool flag;
     };
     };
 
 
     void qapi_free_UserDefOne(UserDefOne *obj);
     void qapi_free_UserDefOne(UserDefOne *obj);
@@ -1531,6 +1533,11 @@ Example::
                 return false;
                 return false;
             }
             }
         }
         }
+        if (visit_optional(v, "flag", &obj->has_flag)) {
+            if (!visit_type_bool(v, "flag", &obj->flag, errp)) {
+                return false;
+            }
+        }
         return true;
         return true;
     }
     }
 
 
@@ -1916,6 +1923,12 @@ Example::
                     { "type", QLIT_QSTR("str"), },
                     { "type", QLIT_QSTR("str"), },
                     {}
                     {}
                 })),
                 })),
+                QLIT_QDICT(((QLitDictEntry[]) {
+                    { "default", QLIT_QNULL, },
+                    { "name", QLIT_QSTR("flag"), },
+                    { "type", QLIT_QSTR("bool"), },
+                    {}
+                })),
                 {}
                 {}
             })), },
             })), },
             { "meta-type", QLIT_QSTR("object"), },
             { "meta-type", QLIT_QSTR("object"), },
@@ -1949,6 +1962,12 @@ Example::
             { "name", QLIT_QSTR("str"), },
             { "name", QLIT_QSTR("str"), },
             {}
             {}
         })),
         })),
+        QLIT_QDICT(((QLitDictEntry[]) {
+            { "json-type", QLIT_QSTR("boolean"), },
+            { "meta-type", QLIT_QSTR("builtin"), },
+            { "name", QLIT_QSTR("bool"), },
+            {}
+        })),
         {}
         {}
     }));
     }));