On 01/10/13 11:33, Paolo Bonzini wrote:
> Il 07/01/2013 14:55, Gerd Hoffmann ha scritto:
>> +void hmp_chardev_add(Monitor *mon, const QDict *qdict)
>> +{
>> +    const char *args = qdict_get_str(qdict, "args");
>> +    Error *err = NULL;
>> +    QemuOpts *opts;
>> +
>> +    opts = qemu_opts_parse(qemu_find_opts("chardev"), args, 1);
>> +    if (opts == NULL) {
>> +        error_setg(&err, "Parsing chardev args failed\n");
>> +    } else {
>> +        qemu_chr_new_from_opts(opts, NULL, &err);
> 
> This ought to use qmp_chardev_add and a generic opts->ChardevBackend
> conversion.
> 
> But IMHO, this kind of intermediate conversion is okay, with the
> "correct" thing deferred; being able to play with hotplug from HMP is
> worth the small wart.  It's really Luiz's decision, so I'm not giving
> the reviewed-by (yet).

Once qmp_chardev_add() can handle everything supported by
qemu_chr_new_from_opts we can flip over, make qmp_chardev_add the
primary interface and qemu_chr_new_from_opts legacy (which then does the
opts->ChardevBackend conversion and calls qmp_chardev_add).

We are not there yet, even with the full series applied.
And even when we arrive there some day we don't have to touch
hmp_chardev_add when making the switch ;)

cheers,
  Gerd

Reply via email to