qapi: export the marshallers
Make it possible to call marshallers manually, without going through qmp_dispatch(). (this is currently only possible in middle-mode, but it's also useful in general) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20160912091913.15831-9-marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									5032a16d1d
								
							
						
					
					
						commit
						b804dc3bcd
					
				@ -84,10 +84,7 @@ static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret_out,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def gen_marshal_proto(name):
 | 
					def gen_marshal_proto(name):
 | 
				
			||||||
    ret = 'void qmp_marshal_%s(QDict *args, QObject **ret, Error **errp)' % c_name(name)
 | 
					    return 'void qmp_marshal_%s(QDict *args, QObject **ret, Error **errp)' % c_name(name)
 | 
				
			||||||
    if not middle_mode:
 | 
					 | 
				
			||||||
        ret = 'static ' + ret
 | 
					 | 
				
			||||||
    return ret
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def gen_marshal_decl(name):
 | 
					def gen_marshal_decl(name):
 | 
				
			||||||
@ -222,7 +219,6 @@ class QAPISchemaGenCommandVisitor(QAPISchemaVisitor):
 | 
				
			|||||||
        if ret_type and ret_type not in self._visited_ret_types:
 | 
					        if ret_type and ret_type not in self._visited_ret_types:
 | 
				
			||||||
            self._visited_ret_types.add(ret_type)
 | 
					            self._visited_ret_types.add(ret_type)
 | 
				
			||||||
            self.defn += gen_marshal_output(ret_type)
 | 
					            self.defn += gen_marshal_output(ret_type)
 | 
				
			||||||
        if middle_mode:
 | 
					 | 
				
			||||||
        self.decl += gen_marshal_decl(name)
 | 
					        self.decl += gen_marshal_decl(name)
 | 
				
			||||||
        self.defn += gen_marshal(name, arg_type, boxed, ret_type)
 | 
					        self.defn += gen_marshal(name, arg_type, boxed, ret_type)
 | 
				
			||||||
        if not middle_mode:
 | 
					        if not middle_mode:
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user