/* Private data for save image stored in snapshot XML */
virSaveCookieCallbacks saveCookie;
+
+ /* Snapshot postparse callbacks */
+ virDomainMomentPostParseCallback momentPostParse;
};
#define VIR_DOMAIN_DEF_FORMAT_COMMON_FLAGS \
}
+void
+virDomainXMLOptionSetMomentPostParse(virDomainXMLOptionPtr xmlopt,
+ virDomainMomentPostParseCallback cb)
+{
+ xmlopt->momentPostParse = cb;
+}
+
+
+int
+virDomainXMLOptionRunMomentPostParse(virDomainXMLOptionPtr xmlopt,
+ virDomainMomentDefPtr def)
+{
+ if (!xmlopt->momentPostParse)
+ return virDomainMomentDefPostParse(def);
+ return xmlopt->momentPostParse(def);
+}
+
+
void
virBlkioDeviceArrayClear(virBlkioDevicePtr devices,
int ndevices)
virSaveCookieCallbacksPtr
virDomainXMLOptionGetSaveCookie(virDomainXMLOptionPtr xmlopt);
+typedef int (*virDomainMomentPostParseCallback)(virDomainMomentDefPtr def);
+
+void virDomainXMLOptionSetMomentPostParse(virDomainXMLOptionPtr xmlopt,
+ virDomainMomentPostParseCallback cb);
+int virDomainXMLOptionRunMomentPostParse(virDomainXMLOptionPtr xmlopt,
+ virDomainMomentDefPtr def);
+
void virDomainNetGenerateMAC(virDomainXMLOptionPtr xmlopt, virMacAddrPtr mac);
virDomainXMLNamespacePtr
} else {
VIR_WARN("parsing older snapshot that lacks domain");
}
- } else if (virDomainMomentDefPostParse(&def->common) < 0) {
+ } else if (virDomainXMLOptionRunMomentPostParse(xmlopt, &def->common) < 0) {
goto cleanup;
}