[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/5] qapi: convert screendump
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/5] qapi: convert screendump |
Date: |
Fri, 23 Mar 2012 11:25:23 -0300 |
On Sun, 18 Mar 2012 19:29:12 +0100
Alon Levy <address@hidden> wrote:
> The documenting comment contains the long list of possible errors from
> qemu_fopen_err, this could probably be put somewhere else in the file
> once more of the api uses those common error classes.
>
> Signed-off-by: Alon Levy <address@hidden>
> ---
> hmp-commands.hx | 3 +--
> hmp.c | 8 ++++++++
> hmp.h | 1 +
> monitor.c | 6 ------
> qapi-schema.json | 24 ++++++++++++++++++++++++
> qmp-commands.hx | 5 +----
> qmp.c | 5 +++++
> 7 files changed, 40 insertions(+), 12 deletions(-)
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index 6980214..d26421a 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -194,8 +194,7 @@ ETEXI
> .args_type = "filename:F",
> .params = "filename",
> .help = "save screen into PPM image 'filename'",
> - .user_print = monitor_user_noop,
> - .mhandler.cmd_new = do_screen_dump,
> + .mhandler.cmd = hmp_screendump,
> },
>
> STEXI
> diff --git a/hmp.c b/hmp.c
> index 290c43d..42dc79a 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -860,3 +860,11 @@ void hmp_block_job_cancel(Monitor *mon, const QDict
> *qdict)
>
> hmp_handle_error(mon, &error);
> }
> +
> +void hmp_screendump(Monitor *mon, const QDict *qdict)
> +{
> + Error *err = NULL;
> +
> + qmp_screendump(qdict_get_str(qdict, "filename"), &err);
> + hmp_handle_error(mon, &err);
> +}
> diff --git a/hmp.h b/hmp.h
> index 5409464..25d123f 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -59,5 +59,6 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict
> *qdict);
> void hmp_block_stream(Monitor *mon, const QDict *qdict);
> void hmp_block_job_set_speed(Monitor *mon, const QDict *qdict);
> void hmp_block_job_cancel(Monitor *mon, const QDict *qdict);
> +void hmp_screendump(Monitor *mon, const QDict *qdict);
>
> #endif
> diff --git a/monitor.c b/monitor.c
> index 2156fcf..34d7617 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -893,12 +893,6 @@ static int client_migrate_info(Monitor *mon, const QDict
> *qdict,
> return -1;
> }
>
> -static int do_screen_dump(Monitor *mon, const QDict *qdict, QObject
> **ret_data)
> -{
> - vga_hw_screen_dump(qdict_get_str(qdict, "filename"), NULL);
> - return 0;
> -}
> -
> static void do_logfile(Monitor *mon, const QDict *qdict)
> {
> cpu_set_log_filename(qdict_get_str(qdict, "filename"));
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 04fa84f..b9baba9 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -1663,3 +1663,27 @@
> { 'command': 'qom-list-types',
> 'data': { '*implements': 'str', '*abstract': 'bool' },
> 'returns': [ 'ObjectTypeInfo' ] }
> +
> +##
> +# @screendump:
> +#
> +# Write a PPM of the VGA screen to a file.
> +#
> +# @filename: the name of a new PPM file to create to store the image
> +#
> +# Returns: Nothing on success
> +# If @cpu is not a valid VCPU, InvalidParameterValue
> +# If @filename cannot be opened, OpenFileFailed or one of the more
> +# specific errors:
> +# EINTR - Interruped during operation
> +# EACCES - Cannot access file
> +# OpenFileEMFILE - Maximum open file descriptors reached
> +# ENOSPC - No space on device
> +# EPERM - No permission
> +# READ_ONLY - File system is read only
> +# ENOTDIR - Path to file contains a non directory element
We write the errors a bit different, please take a look at other commands.
> +#
> +##
> +# Since: 1.1
> +##
> +{ 'command': 'screendump', 'data': {'filename': 'str'} }
> diff --git a/qmp-commands.hx b/qmp-commands.hx
> index dfe8a5b..5fe57fd 100644
> --- a/qmp-commands.hx
> +++ b/qmp-commands.hx
> @@ -146,10 +146,7 @@ EQMP
> {
> .name = "screendump",
> .args_type = "filename:F",
> - .params = "filename",
> - .help = "save screen into PPM image 'filename'",
> - .user_print = monitor_user_noop,
> - .mhandler.cmd_new = do_screen_dump,
> + .mhandler.cmd_new = qmp_marshal_input_screendump,
> },
>
> SQMP
> diff --git a/qmp.c b/qmp.c
> index a182b51..086cec8 100644
> --- a/qmp.c
> +++ b/qmp.c
> @@ -415,3 +415,8 @@ ObjectTypeInfoList *qmp_qom_list_types(bool
> has_implements,
>
> return ret;
> }
> +
> +void qmp_screendump(const char *filename, Error **errp)
> +{
> + vga_hw_screen_dump(filename, errp);
> +}
- Re: [Qemu-devel] [PATCH v2 1/5] error: add error_set_file_open_failed, (continued)
- [Qemu-devel] [PATCH v3 0/5] screendump qapi convertion, Alon Levy, 2012/03/18
- [Qemu-devel] [PATCH v3 2/5] add qemu_fopen_err, Alon Levy, 2012/03/18
- [Qemu-devel] [PATCH v3 5/5] vga: ppm_save(): Return error on failure, Alon Levy, 2012/03/18
- [Qemu-devel] [PATCH v3 1/5] qerror: add error codes for fopen failure, Alon Levy, 2012/03/18
- [Qemu-devel] [PATCH v3 3/5] vga_hw_screen_dump: add Error** param, Alon Levy, 2012/03/18
- [Qemu-devel] [PATCH v3 4/5] qapi: convert screendump, Alon Levy, 2012/03/18
- Re: [Qemu-devel] [PATCH v3 4/5] qapi: convert screendump,
Luiz Capitulino <=