
On 03/25/2013 02:25 PM, Laine Stump wrote:
+ if (xmlconf && xmlconf->config.devicesConfigCallback) { + ret = xmlconf->config.devicesConfigCallback(dev, def, caps, + xmlconf->config.priv);
The implementation of these functions in the hypervisor drivers has been changed to xxxPostParsexxx, but you're still calling it devicesConfigCallback in the struct that's setup. I think this struct should have the members called xxxPostParsexxx as well. This is especially confusing because the parser is parsing a domain config (so we have the "config for the parser of the config" - it makes it a bit difficult to follow whether we're talking about the domain config or parser config sometimes.).
+ +typedef struct _virDomainDefParserConfig virDomainDefParserConfig; +typedef virDomainDefParserConfig *virDomainDefParserConfigPtr; +struct _virDomainDefParserConfig { + virDomainDefPostParseCallback domainConfigCallback; + virDomainDeviceDefPostParseCallback devicesConfigCallback;
Yeah, here's the definition. I think domainConfigCallback should be called domainPostParseCallback and devicesConfigCallback should be called devicesPostParseCallback. That would help quite a lot to un-confuse me.
(an aside - I'm still trying to think of something that's less confusing than "conf" for xmlconf and virDomainXMLConfPtr - this dual usage (for both domain config that we're parsing, and the parser config) requires too much concentration from my brain :-). I haven't come up with a better idea yet, though...)
Maybe virDomainXMLOptionPtr. Leave 'conf' for items related to parsing a user's libvirtd.conf and qemu.conf files, and 'xmlopt' instead of 'xmlconf' for items related to options that the driver passed in for impacting xml parsing/validation. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org