
On 04/16/2010 07:20 AM, Daniel P. Berrange wrote:
+ /* Guest VM main configuration */ typedef struct _virDomainDef virDomainDef; typedef virDomainDef *virDomainDefPtr; @@ -863,6 +876,9 @@ struct _virDomainDef { virSecurityLabelDef seclabel; virDomainWatchdogDefPtr watchdog; virCPUDefPtr cpu; + + void *namespaceData; + struct xmlNamespace ns; };
As mentioned in the other patch reply, I think it'd be preferable to keep a struct with the parser config in virCapsPtr, so we don't need to add to this struct, nor pass it into all the parse/format methods.
I actually started out with this in the virCaps structure, but there was one problem with that; at virDomainDefFree time, the caps pointer is *not* passed in (nor is it stored in the virDomainDef structure), so you can't call the namespace-specific free function. So it was a choice between modifying all of the callers of virDomainDefFree to pass in the virCaps structure, or modifying all of the callers of the virDomainDefParse* to pass in the struct xmlNamespace callback structure. I chose the latter because logically the namespaceData does belong in the virDomainDef structure, since it is part of the XML. -- Chris Lalancette