webservices: Implement WS_ANY_ATTRIBUTES_FIELD_MAPPING for the writer.
Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
05b774fb48
commit
9616d2586c
|
@ -6085,6 +6085,9 @@ ULONG get_type_size( WS_TYPE type, const void *desc )
|
||||||
const WS_UNION_DESCRIPTION *desc_union = desc;
|
const WS_UNION_DESCRIPTION *desc_union = desc;
|
||||||
return desc_union->size;
|
return desc_union->size;
|
||||||
}
|
}
|
||||||
|
case WS_ANY_ATTRIBUTES_TYPE:
|
||||||
|
return 0;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ERR( "unhandled type %u\n", type );
|
ERR( "unhandled type %u\n", type );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1586,10 +1586,11 @@ static void test_complex_struct_type(void)
|
||||||
WS_XML_BUFFER *buffer;
|
WS_XML_BUFFER *buffer;
|
||||||
WS_XML_WRITER *writer;
|
WS_XML_WRITER *writer;
|
||||||
WS_STRUCT_DESCRIPTION s, s2;
|
WS_STRUCT_DESCRIPTION s, s2;
|
||||||
WS_FIELD_DESCRIPTION f, f2, *fields[1], *fields2[1];
|
WS_FIELD_DESCRIPTION f, f2, f3, *fields[1], *fields2[2];
|
||||||
struct services
|
struct services
|
||||||
{
|
{
|
||||||
const WCHAR *generationtime;
|
const WCHAR *generationtime;
|
||||||
|
BYTE dummy[12];
|
||||||
};
|
};
|
||||||
struct officeconfig
|
struct officeconfig
|
||||||
{
|
{
|
||||||
|
@ -1619,11 +1620,17 @@ static void test_complex_struct_type(void)
|
||||||
f2.options = WS_FIELD_OPTIONAL;
|
f2.options = WS_FIELD_OPTIONAL;
|
||||||
fields2[0] = &f2;
|
fields2[0] = &f2;
|
||||||
|
|
||||||
|
memset( &f3, 0, sizeof(f3) );
|
||||||
|
f3.mapping = WS_ANY_ATTRIBUTES_FIELD_MAPPING;
|
||||||
|
f3.type = WS_ANY_ATTRIBUTES_TYPE;
|
||||||
|
f3.offset = FIELD_OFFSET(struct services, dummy);
|
||||||
|
fields2[1] = &f3;
|
||||||
|
|
||||||
memset( &s2, 0, sizeof(s2) );
|
memset( &s2, 0, sizeof(s2) );
|
||||||
s2.size = sizeof(*test->services);
|
s2.size = sizeof(*test->services);
|
||||||
s2.alignment = 4;
|
s2.alignment = 4;
|
||||||
s2.fields = fields2;
|
s2.fields = fields2;
|
||||||
s2.fieldCount = 1;
|
s2.fieldCount = 2;
|
||||||
s2.typeLocalName = &str_services;
|
s2.typeLocalName = &str_services;
|
||||||
s2.typeNs = &ns;
|
s2.typeNs = &ns;
|
||||||
|
|
||||||
|
|
|
@ -3831,6 +3831,9 @@ static HRESULT write_type_field( struct writer *writer, const WS_FIELD_DESCRIPTI
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case WS_ANY_ATTRIBUTES_FIELD_MAPPING:
|
||||||
|
return S_OK;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
FIXME( "field mapping %u not supported\n", desc->mapping );
|
FIXME( "field mapping %u not supported\n", desc->mapping );
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
|
Loading…
Reference in New Issue