db29164103
This policy rejects deprecated input, and thus permits "testing the future". Implement it for QMP command arguments: reject commands with deprecated ones. Example: when QEMU is run with -compat deprecated-input=reject, then {"execute": "eject", "arguments": {"device": "cd"}} fails like this {"error": {"class": "GenericError", "desc": "Deprecated parameter 'device' disabled by policy"}} When the deprecated parameter is removed, the error will change to {"error": {"class": "GenericError", "desc": "Parameter 'device' is unexpected"}} Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20210318155519.1224118-11-armbru@redhat.com>
39 lines
970 B
C
39 lines
970 B
C
/*
|
|
* Policy for handling "funny" management interfaces
|
|
*
|
|
* Copyright (C) 2020 Red Hat, Inc.
|
|
*
|
|
* Authors:
|
|
* Markus Armbruster <armbru@redhat.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or
|
|
* later. See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef QAPI_COMPAT_POLICY_H
|
|
#define QAPI_COMPAT_POLICY_H
|
|
|
|
#include "qapi/qapi-types-compat.h"
|
|
|
|
extern CompatPolicy compat_policy;
|
|
|
|
/*
|
|
* Create a QObject input visitor for @obj for use with QMP
|
|
*
|
|
* This is like qobject_input_visitor_new(), except it obeys the
|
|
* policy for handling deprecated management interfaces set with
|
|
* -compat.
|
|
*/
|
|
Visitor *qobject_input_visitor_new_qmp(QObject *obj);
|
|
|
|
/*
|
|
* Create a QObject output visitor for @obj for use with QMP
|
|
*
|
|
* This is like qobject_output_visitor_new(), except it obeys the
|
|
* policy for handling deprecated management interfaces set with
|
|
* -compat.
|
|
*/
|
|
Visitor *qobject_output_visitor_new_qmp(QObject **result);
|
|
|
|
#endif
|