widl: Generate typedefs for namespaced struct / enum types.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
80b6555ed4
commit
2a7940c97d
|
@ -872,11 +872,25 @@ static void write_generic_handle_routines(FILE *header)
|
|||
|
||||
static void write_typedef(FILE *header, type_t *type, int declonly)
|
||||
{
|
||||
type_t *t = type_alias_get_aliasee_type(type);
|
||||
if (winrt_mode && t->namespace && !is_global_namespace(t->namespace)) return;
|
||||
fprintf(header, "typedef ");
|
||||
write_type_v(header, type_alias_get_aliasee(type), FALSE, declonly, type->name, NAME_DEFAULT);
|
||||
fprintf(header, ";\n");
|
||||
type_t *t = type_alias_get_aliasee_type(type);
|
||||
if (winrt_mode && t->namespace && !is_global_namespace(t->namespace))
|
||||
{
|
||||
fprintf(header, "#ifdef __cplusplus\n");
|
||||
write_namespace_start(header, t->namespace);
|
||||
indent(header, 0);
|
||||
}
|
||||
fprintf(header, "typedef ");
|
||||
write_type_v(header, type_alias_get_aliasee(type), FALSE, declonly, type->name, NAME_DEFAULT);
|
||||
fprintf(header, ";\n");
|
||||
if (winrt_mode && t->namespace && !is_global_namespace(t->namespace))
|
||||
{
|
||||
write_namespace_end(header, t->namespace);
|
||||
fprintf(header, "#else /* __cplusplus */\n");
|
||||
fprintf(header, "typedef ");
|
||||
write_type_v(header, type_alias_get_aliasee(type), FALSE, declonly, type->c_name, NAME_C);
|
||||
fprintf(header, ";\n");
|
||||
fprintf(header, "#endif /* __cplusplus */\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
int is_const_decl(const var_t *var)
|
||||
|
|
Loading…
Reference in New Issue