qapi: Support downstream enums

Enhance the testsuite to cover a downstream enum type and enum
string.  Update the generator to mangle the enum name in the
appropriate places.

Signed-off-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Eric Blake 2015-05-14 06:50:56 -06:00 committed by Markus Armbruster
parent c6405b54b7
commit fce384b8e5
4 changed files with 18 additions and 12 deletions

View file

@ -173,7 +173,7 @@ out:
error_propagate(errp, err);
}
''',
name=name)
name=type_name(name))
def generate_visit_enum(name, members):
return mcgen('''
@ -183,7 +183,7 @@ void visit_type_%(name)s(Visitor *m, %(name)s *obj, const char *name, Error **er
visit_type_enum(m, (int *)obj, %(name)s_lookup, "%(name)s", name, errp);
}
''',
name=name)
name=c_name(name))
def generate_visit_alternate(name, members):
ret = mcgen('''
@ -364,7 +364,7 @@ def generate_enum_declaration(name, members):
ret = mcgen('''
void visit_type_%(name)sList(Visitor *m, %(name)sList **obj, const char *name, Error **errp);
''',
name=name)
name=c_name(name))
return ret
@ -373,7 +373,7 @@ def generate_decl_enum(name, members):
void visit_type_%(name)s(Visitor *m, %(name)s *obj, const char *name, Error **errp);
''',
name=name)
name=c_name(name))
try:
opts, args = getopt.gnu_getopt(sys.argv[1:], "chbp:i:o:",