diff mbox

[v19,02/25] qapi: output def_value_str when query command line options

Message ID 1390227608-7225-3-git-send-email-cyliu@suse.com
State New
Headers show

Commit Message

Chunyan Liu Jan. 20, 2014, 2:19 p.m. UTC
Change qapi interfaces to output the newly added def_value_str when query
command line options.

Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
Signed-off-by: Chunyan Liu <cyliu@suse.com>
---
 qapi-schema.json   |    8 ++++++--
 qmp-commands.hx    |    2 ++
 util/qemu-config.c |    4 ++++
 3 files changed, 12 insertions(+), 2 deletions(-)

Comments

Eric Blake Jan. 20, 2014, 3:53 p.m. UTC | #1
On 01/20/2014 07:19 AM, Chunyan Liu wrote:
> Change qapi interfaces to output the newly added def_value_str when query
> command line options.
> 
> Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>
> Signed-off-by: Chunyan Liu <cyliu@suse.com>
> ---

> +++ b/qapi-schema.json
> @@ -3891,12 +3891,16 @@
>  #
>  # @help: #optional human readable text string, not suitable for parsing.
>  #
> -# Since 1.5
> +# @default: #optional string representation of the default used
> +#           if the option is omitted.
> +#
> +# Since 1.6

Not quite right.  The overall type was still since 1.5, and only the new
member is since 2.0 (not 1.6).  It should look more like:

# @default: #optional string representation of the default used if
#           the option is omitted (since 2.0)
#
# Since 1.5

But I like the idea.
diff mbox

Patch

diff --git a/qapi-schema.json b/qapi-schema.json
index f27c48a..e0729ed 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3891,12 +3891,16 @@ 
 #
 # @help: #optional human readable text string, not suitable for parsing.
 #
-# Since 1.5
+# @default: #optional string representation of the default used
+#           if the option is omitted.
+#
+# Since 1.6
 ##
 { 'type': 'CommandLineParameterInfo',
   'data': { 'name': 'str',
             'type': 'CommandLineParameterType',
-            '*help': 'str' } }
+            '*help': 'str',
+            '*default': 'str'} }
 
 ##
 # @CommandLineOptionInfo:
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 02cc815..2f25256 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -2742,6 +2742,8 @@  Each array entry contains the following:
               or 'size')
     - "help": human readable description of the parameter
               (json-string, optional)
+    - "default": default value string for the parameter
+                 (json-string, optional)
 
 Example:
 
diff --git a/util/qemu-config.c b/util/qemu-config.c
index 7973659..c92d015 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -68,6 +68,10 @@  static CommandLineParameterInfoList *query_option_descs(const QemuOptDesc *desc)
             info->has_help = true;
             info->help = g_strdup(desc[i].help);
         }
+        if (desc[i].def_value_str) {
+            info->has_q_default = true;
+            info->q_default = g_strdup(desc[i].def_value_str);
+        }
 
         entry = g_malloc0(sizeof(*entry));
         entry->value = info;