]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Allow parsing <graphics> in device XML
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 22 Mar 2010 13:22:48 +0000 (13:22 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 26 Mar 2010 14:17:35 +0000 (14:17 +0000)
Expand the parser for the standalone <device> XML format to
allow inclusion of the <graphics> device type

* src/conf/domain_conf.h: Add virDomainGraphicsDef to
  the virDomainDeviceDef struct
* src/conf/domain_conf.c: Wire up parser for virDomainGraphicsDef
  to virDomainDeviceDefParse method

src/conf/domain_conf.c
src/conf/domain_conf.h

index 55198343ed574b5c30687e2cf201b83018d4e0c4..ffbb26fbd440c7bcece71a0a3f3a4db6ebb3e009 100644 (file)
@@ -88,7 +88,8 @@ VIR_ENUM_IMPL(virDomainDevice, VIR_DOMAIN_DEVICE_LAST,
               "video",
               "hostdev",
               "watchdog",
-              "controller")
+              "controller",
+              "graphics")
 
 VIR_ENUM_IMPL(virDomainDeviceAddress, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST,
               "none",
@@ -575,6 +576,9 @@ void virDomainDeviceDefFree(virDomainDeviceDefPtr def)
     case VIR_DOMAIN_DEVICE_CONTROLLER:
         virDomainControllerDefFree(def->data.controller);
         break;
+    case VIR_DOMAIN_DEVICE_GRAPHICS:
+        virDomainGraphicsDefFree(def->data.graphics);
+        break;
     }
 
     VIR_FREE(def);
@@ -3299,6 +3303,10 @@ virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
         dev->type = VIR_DOMAIN_DEVICE_CONTROLLER;
         if (!(dev->data.controller = virDomainControllerDefParseXML(node, flags)))
             goto error;
+    } else if (xmlStrEqual(node->name, BAD_CAST "graphics")) {
+        dev->type = VIR_DOMAIN_DEVICE_GRAPHICS;
+        if (!(dev->data.graphics = virDomainGraphicsDefParseXML(node, flags)))
+            goto error;
     } else {
         virDomainReportError(VIR_ERR_XML_ERROR,
                              "%s", _("unknown device type"));
index 44fff0cccd4932f0ec807815b6293d4a20737326..efd5db625d72c47ab39944a8ffdb9a64bb1756f8 100644 (file)
@@ -544,6 +544,7 @@ enum virDomainDeviceType {
     VIR_DOMAIN_DEVICE_HOSTDEV,
     VIR_DOMAIN_DEVICE_WATCHDOG,
     VIR_DOMAIN_DEVICE_CONTROLLER,
+    VIR_DOMAIN_DEVICE_GRAPHICS,
 
     VIR_DOMAIN_DEVICE_LAST,
 };
@@ -562,6 +563,7 @@ struct _virDomainDeviceDef {
         virDomainVideoDefPtr video;
         virDomainHostdevDefPtr hostdev;
         virDomainWatchdogDefPtr watchdog;
+        virDomainGraphicsDefPtr graphics;
     } data;
 };