From: Ján Tomko Date: Tue, 20 Aug 2019 15:45:10 +0000 (+0200) Subject: util: introduce virXMLNamespace X-Git-Tag: v5.7.0-rc1~154 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67ecfb9781a79c7dd155a1ddfa936021b913ccbe;p=thirdparty%2Flibvirt.git util: introduce virXMLNamespace For various XMLs, we allow a custom namespace for passing unsupported configurations. Introduce a single structure to hold all the driver-specific functions to remove duplication. Signed-off-by: Ján Tomko Reviewed-by: Jiri Denemark --- diff --git a/src/util/virxml.h b/src/util/virxml.h index 6208977dd1..c0012d691d 100644 --- a/src/util/virxml.h +++ b/src/util/virxml.h @@ -246,3 +246,17 @@ VIR_DEFINE_AUTOCLEAN_FUNC(virXPathContextNodeSave, virXPathContextNodeRestore); VIR_DEFINE_AUTOPTR_FUNC(xmlDoc, xmlFreeDoc); VIR_DEFINE_AUTOPTR_FUNC(xmlXPathContext, xmlXPathFreeContext); + +typedef int (*virXMLNamespaceParse)(xmlXPathContextPtr ctxt, void **nsdata); +typedef void (*virXMLNamespaceFree)(void *nsdata); +typedef int (*virXMLNamespaceFormat)(virBufferPtr buf, void *nsdata); +typedef const char *(*virXMLNamespaceHref)(void); + +struct _virXMLNamespace { + virXMLNamespaceParse parse; + virXMLNamespaceFree free; + virXMLNamespaceFormat format; + virXMLNamespaceHref href; +}; +typedef struct _virXMLNamespace virXMLNamespace; +typedef virXMLNamespace *virXMLNamespacePtr;