
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 -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/