On Tue, Apr 13, 2010 at 05:33:02PM +0200, Matthias Bolte wrote: > Generate almost all SOAP method mapping code. > > Update the driver code to use the complete paramater list of some methods > that had parameters skipped before. > > Improve the ESX_VI__METHOD marco to do automatic output deserialization > based on output occurrence. Also incorporate automatic _this binding and > output pointer check. > --- > src/esx/esx_driver.c | 26 +- > src/esx/esx_vi.c | 7 +- > src/esx/esx_vi_generator.input | 191 +++++++++- > src/esx/esx_vi_generator.py | 489 ++++++++++++++++++------ > src/esx/esx_vi_methods.c | 854 ++++++---------------------------------- > src/esx/esx_vi_methods.h | 132 +------ > 6 files changed, 723 insertions(+), 976 deletions(-) > [...] > diff --git a/src/esx/esx_vi_generator.input b/src/esx/esx_vi_generator.input > index 9c545eb..a016c63 100644 > --- a/src/esx/esx_vi_generator.input > +++ b/src/esx/esx_vi_generator.input > @@ -28,7 +28,22 @@ > # - ol for an optional list > # - i for an ignored item or list > # > -# Object member sequence has to match the WSDL sequence > +# Object member sequence has to match the WSDL sequence. > +# > +# > +# Method definition: > +# > +# method <name> [returns <type> <occurrence>] > +# <type> <name> <occurrence> > +# ... > +# end > +# > +# The _this paramater can have a type attached to it: > +# > +# _this:<type> > +# > +# The <type> refers to one of the ServiceContent members. This make the > +# generator auto-bind _this to the corresponding ServiceContent member. [...] > +method CreateFilter returns ManagedObjectReference r > + ManagedObjectReference _this:PropertyCollector r > + PropertyFilterSpec spec r > + Boolean partialUpdates r > +end Once again I really like the clarity of the generator input :-) The generator code is of course always a bit hairy, but that's normal. This makes for a nice cleanup, I also notice a lot of formatting changes too, ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list