
On Tue, Sep 13, 2011 at 04:44:50PM -0600, Eric Blake wrote:
On 09/13/2011 03:18 AM, Daniel Veillard wrote:
yes but from that point on if you use inheritance, the fact of using the qemu tainted objects instead of the normal ones disapear completely. The fact of using those temporary APIs get hidden in an import and a new() somewhere. I would really prefer to see something explicit at the place where it is used, something that people can't miss where reading the code using it.
I like the idea of making the unsupported qemu-tainted objects explicit at every use point rather than hidden behind the import and new() hundreds of lines earlier in the file; at any rate, it means when you later revisit the file to clean out the unsupported qemu direct use with newly added libvirt features, you know every line that needs fixing. But I'm not enough of a python coder to know if this is typically done anywhere else, so I don't know if my vote counts as a tie-breaker.
sure, guess that between your feedback and Osier one, we should go for the second solution, thanks ! Daniel BTW it's trivial for the user to make a superset class and use that, but then it's a concious design decision on their part and shows up in their class hierarchy -- 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/