 7ce5fc63c7
			
		
	
	
		7ce5fc63c7
		
	
	
	
	
		
			
			The code to check policy for handling deprecated input is triplicated. Factor it out into compat_policy_input_ok() before I mess with it in the next commit. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20211028102520.747396-9-armbru@redhat.com> [Policy code moved from qmp-dispatch.c to qapi-util.c to make visitors link without qmp-dispatch.o]
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			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/error.h"
 | |
| #include "qapi/qapi-types-compat.h"
 | |
| 
 | |
| extern CompatPolicy compat_policy;
 | |
| 
 | |
| bool compat_policy_input_ok(unsigned special_features,
 | |
|                             const CompatPolicy *policy,
 | |
|                             ErrorClass error_class,
 | |
|                             const char *kind, const char *name,
 | |
|                             Error **errp);
 | |
| 
 | |
| /*
 | |
|  * 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
 |