]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Pass private data to Parse function of XML options
authorMartin Kletzander <mkletzan@redhat.com>
Fri, 24 Jul 2015 17:35:00 +0000 (19:35 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Thu, 13 Aug 2015 13:06:06 +0000 (15:06 +0200)
This needs a reorder of XML option definitions.  It might come in handy
one day.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libxl/libxl_domain.c
src/lxc/lxc_domain.c
src/qemu/qemu_domain.c

index b743bddd5f712a00c96c89d96f2f2a9874afe3fe..820d6dd60c0be8cbe7748054fa6ae3ee535f79bf 100644 (file)
@@ -16553,7 +16553,7 @@ virDomainObjParseXML(xmlDocPtr xml,
     VIR_FREE(nodes);
 
     if (xmlopt->privateData.parse &&
-        xmlopt->privateData.parse(ctxt, obj) < 0)
+        xmlopt->privateData.parse(ctxt, obj, &xmlopt->config) < 0)
         goto error;
 
     return obj;
index dfe3ce8b9d82ea2ffd851f42b09170e99fd08add..e1872bca002c3a602fd9c464be67ad555ff56f7c 100644 (file)
@@ -2391,14 +2391,6 @@ typedef bool (*virDomainObjListACLFilter)(virConnectPtr conn,
 typedef struct _virDomainXMLOption virDomainXMLOption;
 typedef virDomainXMLOption *virDomainXMLOptionPtr;
 
-typedef void *(*virDomainXMLPrivateDataAllocFunc)(void);
-typedef void (*virDomainXMLPrivateDataFreeFunc)(void *);
-typedef virObjectPtr (*virDomainXMLPrivateDataNewFunc)(void);
-typedef int (*virDomainXMLPrivateDataFormatFunc)(virBufferPtr,
-                                                 virDomainObjPtr);
-typedef int (*virDomainXMLPrivateDataParseFunc)(xmlXPathContextPtr,
-                                                virDomainObjPtr);
-
 /* Called once after everything else has been parsed, for adjusting
  * overall domain defaults.  */
 typedef int (*virDomainDefPostParseCallback)(virDomainDefPtr def,
@@ -2427,6 +2419,15 @@ struct _virDomainDefParserConfig {
     unsigned char macPrefix[VIR_MAC_PREFIX_BUFLEN];
 };
 
+typedef void *(*virDomainXMLPrivateDataAllocFunc)(void);
+typedef void (*virDomainXMLPrivateDataFreeFunc)(void *);
+typedef virObjectPtr (*virDomainXMLPrivateDataNewFunc)(void);
+typedef int (*virDomainXMLPrivateDataFormatFunc)(virBufferPtr,
+                                                 virDomainObjPtr);
+typedef int (*virDomainXMLPrivateDataParseFunc)(xmlXPathContextPtr,
+                                                virDomainObjPtr,
+                                                virDomainDefParserConfigPtr);
+
 typedef struct _virDomainXMLPrivateDataCallbacks virDomainXMLPrivateDataCallbacks;
 typedef virDomainXMLPrivateDataCallbacks *virDomainXMLPrivateDataCallbacksPtr;
 struct _virDomainXMLPrivateDataCallbacks {
index 224ff773f938d48ebf43deee9fbc7b4242bebf3f..40dcea171c06746d7e49ae3a73a01e0c3d014c4e 100644 (file)
@@ -224,7 +224,8 @@ libxlDomainObjPrivateFree(void *data)
 
 static int
 libxlDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
-                              virDomainObjPtr vm)
+                              virDomainObjPtr vm,
+                              virDomainDefParserConfigPtr config ATTRIBUTE_UNUSED)
 {
     libxlDomainObjPrivatePtr priv = vm->privateData;
 
index 70606f37658318678ddeced322ec9e66c6a06a74..2f377d8dcba3c0cf87d5bbe8c6be18d2504e6cae 100644 (file)
@@ -65,7 +65,8 @@ virLXCDomainObjPrivateXMLFormat(virBufferPtr buf,
 
 static int
 virLXCDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
-                               virDomainObjPtr vm)
+                               virDomainObjPtr vm,
+                               virDomainDefParserConfigPtr config ATTRIBUTE_UNUSED)
 {
     virLXCDomainObjPrivatePtr priv = vm->privateData;
     unsigned long long thepid;
index 8fe7c75d19c9baa2d25020efd3a43c373afe018c..74560a4f0144e8197a41ee81d421b9962d5b9d1b 100644 (file)
@@ -623,7 +623,8 @@ qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
 
 static int
 qemuDomainObjPrivateXMLParse(xmlXPathContextPtr ctxt,
-                             virDomainObjPtr vm)
+                             virDomainObjPtr vm,
+                             virDomainDefParserConfigPtr config ATTRIBUTE_UNUSED)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
     char *monitorpath;