[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