mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +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",
|
||||
);
|
||||
|
||||
static virInterfaceDef *
|
||||
virInterfaceDefParseXML(xmlXPathContextPtr ctxt, int parentIfType);
|
||||
|
||||
static int
|
||||
virInterfaceDefDevFormat(virBuffer *buf, const virInterfaceDef *def,
|
||||
virInterfaceType parentIfType);
|
||||
@ -565,7 +562,7 @@ virInterfaceDefParseVlan(virInterfaceDef *def,
|
||||
}
|
||||
|
||||
|
||||
static virInterfaceDef *
|
||||
virInterfaceDef *
|
||||
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
||||
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 *
|
||||
virInterfaceDefParse(const char *xmlStr,
|
||||
const char *filename,
|
||||
unsigned int flags)
|
||||
{
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
bool validate = flags & VIR_INTERFACE_DEFINE_VALIDATE;
|
||||
|
||||
xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
|
||||
NULL, NULL, "interface.rng", validate);
|
||||
if (!xml)
|
||||
if (!(xml = virXMLParse(filename, xmlStr, _("(interface_definition)"),
|
||||
"interface", &ctxt, "interface.rng", validate)))
|
||||
return NULL;
|
||||
|
||||
return virInterfaceDefParseNode(xml, xmlDocGetRootElement(xml));
|
||||
return virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST);
|
||||
}
|
||||
|
||||
|
||||
|
@ -162,8 +162,8 @@ virInterfaceDef *
|
||||
virInterfaceDefParseFile(const char *filename);
|
||||
|
||||
virInterfaceDef *
|
||||
virInterfaceDefParseNode(xmlDocPtr xml,
|
||||
xmlNodePtr root);
|
||||
virInterfaceDefParseXML(xmlXPathContextPtr ctxt,
|
||||
int parentIfType);
|
||||
|
||||
char *
|
||||
virInterfaceDefFormat(const virInterfaceDef *def);
|
||||
|
@ -793,8 +793,8 @@ virDomainDiskDefValidateStartupPolicy;
|
||||
virInterfaceDefFormat;
|
||||
virInterfaceDefFree;
|
||||
virInterfaceDefParseFile;
|
||||
virInterfaceDefParseNode;
|
||||
virInterfaceDefParseString;
|
||||
virInterfaceDefParseXML;
|
||||
|
||||
|
||||
# conf/netdev_bandwidth_conf.h
|
||||
|
@ -1110,6 +1110,7 @@ testParseInterfaces(testDriver *privconn,
|
||||
const char *file,
|
||||
xmlXPathContextPtr ctxt)
|
||||
{
|
||||
VIR_XPATH_NODE_AUTORESTORE(ctxt)
|
||||
int num;
|
||||
size_t i;
|
||||
virInterfaceObj *obj;
|
||||
@ -1121,12 +1122,11 @@ testParseInterfaces(testDriver *privconn,
|
||||
|
||||
for (i = 0; i < num; i++) {
|
||||
g_autoptr(virInterfaceDef) def = NULL;
|
||||
xmlNodePtr node = testParseXMLDocFromFile(nodes[i], file);
|
||||
if (!node)
|
||||
|
||||
if (!(ctxt->node = testParseXMLDocFromFile(nodes[i], file)))
|
||||
return -1;
|
||||
|
||||
def = virInterfaceDefParseNode(ctxt->doc, node);
|
||||
if (!def)
|
||||
if (!(def = virInterfaceDefParseXML(ctxt, VIR_INTERFACE_TYPE_LAST)))
|
||||
return -1;
|
||||
|
||||
if (!(obj = virInterfaceObjListAssignDef(privconn->ifaces, &def)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user