2010/3/31 Daniel Veillard <veillard(a)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