qemu-devel
[Top][All Lists]
Advanced

[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: Programmingkid
Subject: Re: [Qemu-devel] [PATCH] ui/cocoa.m: Add Mount image file menu item
Date: Wed, 9 Sep 2015 19:34:12 -0400

On Sep 9, 2015, at 6:25 PM, Eric Blake wrote:

> On 09/09/2015 03:37 PM, Programmingkid wrote:
> 
>> 
>> 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.

That is a lot easier said than done. 

>> 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.

That may be so. I need to do the equivalent of "device_add" and "device_del". 
You have any ideas how to do it in C? 

> 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.

I just wish it was as easy as qmp("{ \"execute\" : \"<some command> \"}"); 

If you know a way to execute a qmp command by using a function that takes a 
string, 
please let me know.

Thanks for the help.


reply via email to

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