[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] ui/cocoa.m: Add Mount image file menu item

From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] ui/cocoa.m: Add Mount image file menu item
Date: Wed, 9 Sep 2015 16:25:13 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0

On 09/09/2015 03:37 PM, Programmingkid wrote:

>>>>>> On 2 September 2015 at 01:56, Programmingkid
>>>>>> <address@hidden> wrote:

It's okay to trim your reply, to make it easier for others to quickly
skip to the relevant part of your emails.

> Thank you very much for caring. I appreciate all the help I can receive. I so 
> like my idea of
> sending a command to QEMU as if the user typed it himself. It is so easy to 
> maintain. So 
> easy to use. So expandable. But given that two maintainers have told me that 
> I can't do this,
> the idea has to be abandoned. 

Even emulating typing into the QMP interface is a non-starter.  Just
call the same functions that QMP would eventually call.

> The C interface idea sounds good, but trying to figure out how to make any of 
> the handler
> functions work is very difficult. Just trying to make the QDict and QObject 
> variables is just
> too much. It needs to be a lot easier than this.
> That leaves QMP. I am trying to figure it out. This is my attempt so far:
> Error **errp;
> char *commandBuffer;
> commandBuffer = g_strdup_printf("{ \"execute\": \"quit\" }");
> qmp_query_command_line_options(false, commandBuffer, errp);
> printf("Program should quit now\n");

If you type the QMP command:

{ "execute": "query-command-line-options", "arguments": { "option":
"quit" } }

then that will result in calling:

Error *err;
qmp_query_command_line_options(true, "quit", &err);

which will set err (because '-quit' is not a command line option).

But if you are worried about constructing a QDict (which is a subset of
QObject), you are probably trying to call the wrong interface.

In qmp-commands.hx, the command 'query-command-line-options' is tied to
qmp_marshal_query_command_line_options (well, after Markus' latest
patches are applied; in current qemu.git it is still named
qmp_marshal_input_query_command_line_options).  That is the generated
function that takes QDict, and then calls into the much nicer interface
of qmp_query_command_line_options() that has already broken out all the
arguments into straight-forward parameters.

Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]