mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
conf: interface: Remove virInterfaceDefParseNode
Both callers be easily made to call virInterfaceDefParseXML directly. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
37de09a2f9
commit
05ffd59436
@ -33,9 +33,6 @@ VIR_ENUM_IMPL(virInterface,
|
|||||||
"ethernet", "bridge", "bond", "vlan",
|
"ethernet", "bridge", "bond", "vlan",
|
||||||
);
|
);
|
||||||
|
|
||||||
static virInterfaceDef *
|
|
||||||
virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType);
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def,
|
virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def,
|
||||||
virInterfaceType parentIfType);
|
virInterfaceType parentIfType);
|
||||||
@ -565,7 +562,7 @@ virInterfaceDefParseVlan(virInterfaceDef *def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static virInterfaceDef *
|
virInterfaceDef *
|
||||||
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
||||||
int parentIfType)
|
int parentIfType)
|
||||||
{
|
{
|
||||||
@ -672,42 +669,20 @@ virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
virInterfaceDef *
|
|
||||||
virInterfaceDefParseNode(xmlDocPtr xml,
|
|
||||||
xmlNodePtr root)
|
|
||||||
{
|
|
||||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
|
||||||
|
|
||||||
if (!virXMLNodeNameEqual(root, "interface")) {
|
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
|
||||||
_("unexpected root element <%s>, "
|
|
||||||
"expecting <interface>"),
|
|
||||||
root->name);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(ctxt = virXMLXPathContextNew(xml)))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
ctxt->node = root;
|
|
||||||
return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static virInterfaceDef *
|
static virInterfaceDef *
|
||||||
virInterfaceDefParse(const char *xmlStr,
|
virInterfaceDefParse(const char *xmlStr,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
g_autoptr(xmlDoc) xml = NULL;
|
g_autoptr(xmlDoc) xml = NULL;
|
||||||
|
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||||
bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE;
|
bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE;
|
||||||
|
|
||||||
xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
|
if (!(xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
|
||||||
NULL, NULL, "interface.rng", validate);
|
"interface", &ctxt, "interface.rng", validate)))
|
||||||
if (!xml)
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
return virInterfaceDefParseNode(xml, xmlDocGetRootElement(xml));
|
return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,8 +162,8 @@ virInterfaceDef *
|
|||||||
virInterfaceDefParseFile(const char *filename);
|
virInterfaceDefParseFile(const char *filename);
|
||||||
|
|
||||||
virInterfaceDef *
|
virInterfaceDef *
|
||||||
virInterfaceDefParseNode(xmlDocPtr xml,
|
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
||||||
xmlNodePtr root);
|
int parentIfType);
|
||||||
|
|
||||||
char *
|
char *
|
||||||
virInterfaceDefFormat(const virInterfaceDef *def);
|
virInterfaceDefFormat(const virInterfaceDef *def);
|
||||||
|
@ -793,8 +793,8 @@ virDomainDiskDefValidateStartupPolicy;
|
|||||||
virInterfaceDefFormat;
|
virInterfaceDefFormat;
|
||||||
virInterfaceDefFree;
|
virInterfaceDefFree;
|
||||||
virInterfaceDefParseFile;
|
virInterfaceDefParseFile;
|
||||||
virInterfaceDefParseNode;
|
|
||||||
virInterfaceDefParseString;
|
virInterfaceDefParseString;
|
||||||
|
virInterfaceDefParseXML;
|
||||||
|
|
||||||
|
|
||||||
# conf/netdev_bandwidth_conf.h
|
# conf/netdev_bandwidth_conf.h
|
||||||
|
@ -1110,6 +1110,7 @@ testParseInterfaces(testDriver *privconn,
|
|||||||
const char *file,
|
const char *file,
|
||||||
xmlXPathContextPtr ctxt)
|
xmlXPathContextPtr ctxt)
|
||||||
{
|
{
|
||||||
|
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||||
int num;
|
int num;
|
||||||
size_t i;
|
size_t i;
|
||||||
virInterfaceObj *obj;
|
virInterfaceObj *obj;
|
||||||
@ -1121,12 +1122,11 @@ testParseInterfaces(testDriver *privconn,
|
|||||||
|
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
g_autoptr(virInterfaceDef) def = NULL;
|
g_autoptr(virInterfaceDef) def = NULL;
|
||||||
xmlNodePtr node = testParseXMLDocFromFile(nodes[i], file);
|
|
||||||
if (!node)
|
if (!(ctxt->node = testParseXMLDocFromFile(nodes[i], file)))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
def = virInterfaceDefParseNode(ctxt->doc, node);
|
if (!(def = virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST)))
|
||||||
if (!def)
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (!(obj = virInterfaceObjListAssignDef(privconn->ifaces, &def)))
|
if (!(obj = virInterfaceObjListAssignDef(privconn->ifaces, &def)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user