[libvirt] [PATCH] esx: Generate most SOAP mapping and improve inheritance handling
Matthias Bolte
matthias.bolte at googlemail.com
Wed Mar 31 14:04:46 UTC 2010
2010/3/31 Daniel Veillard <veillard at redhat.com>:
> On Wed, Mar 31, 2010 at 01:36:15PM +0200, Matthias Bolte wrote:
>> The Python script generates the mappings based on the type descriptions
>> in the esx_vi_generator.input file.
>>
>> This also improves the inheritance handling and allows to get rid of the
>> ugly, inflexible, and error prone _base/_super approach. Now every struct
>> that represents a SOAP type contains a _type member, that allows to
>> recreate C++-like dynamic dispatch for "method" calls in C.
>> ---
>> src/Makefile.am | 23 +-
>> src/esx/.gitignore | 1 +
>> src/esx/esx_driver.c | 10 +-
>> src/esx/esx_vi.c | 51 +-
>> src/esx/esx_vi.h | 7 +-
>> src/esx/esx_vi_generator.input | 426 ++++++++
>> src/esx/esx_vi_generator.py | 1025 ++++++++++++++++++
>> src/esx/esx_vi_methods.c | 44 +-
>> src/esx/esx_vi_types.c | 2258 +++++-----------------------------------
>> src/esx/esx_vi_types.h | 1090 +-------------------
>> 10 files changed, 1868 insertions(+), 3067 deletions(-)
>> create mode 100644 src/esx/.gitignore
>> create mode 100644 src/esx/esx_vi_generator.input
>> create mode 100755 src/esx/esx_vi_generator.py
>
> Hum, the generator code, like all generators, is a bit hard to read,
> but the nice clean format for the input and the vast amount of removed
> code is a real improvement. Integration in Makefiles looks fine, patch
> applies and build without trouble for me, so
>
> ACK
>
> Daniel
>
Thanks, pushed.
As mentioned on IRC, I'm going to extend this generator to handle methods too.
Matthias
More information about the libvir-list
mailing list