[libvirt PATCH 13/16] domain_conf: graphics: move remaining spice formatting

Pavel Hrdina posted 16 patches 6 days ago
[libvirt PATCH 13/16] domain_conf: graphics: move remaining spice formatting
Posted by Pavel Hrdina 6 days ago
Now we are able to move the rest into virDomainGraphicsDefFormatSpice
without breaking order of elements in the resulting XML.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
---
 src/conf/domain_conf.c | 81 ++++++++++++++++++++----------------------
 1 file changed, 39 insertions(+), 42 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index ad3a44b9b1..34ed62cc99 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -26554,7 +26554,9 @@ virDomainGraphicsDefFormatSpice(virBuffer *attrBuf,
                                 virDomainGraphicsDef *def,
                                 unsigned int flags)
 {
+    g_auto(virBuffer) spiceBuf = VIR_BUFFER_INITIALIZER;
     virDomainGraphicsListenDef *glisten = virDomainGraphicsGetListen(def, 0);
+    size_t i;
 
     if (!glisten) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -26609,6 +26611,43 @@ virDomainGraphicsDefFormatSpice(virBuffer *attrBuf,
 
     virDomainGraphicsDefFormatListnes(childBuf, def, flags);
 
+    for (i = 0; i < VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_LAST; i++) {
+        int mode = def->data.spice.channels[i];
+        if (mode == VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_ANY)
+            continue;
+
+        virBufferAsprintf(&spiceBuf, " name='%s' mode='%s'",
+                          virDomainGraphicsSpiceChannelNameTypeToString(i),
+                          virDomainGraphicsSpiceChannelModeTypeToString(mode));
+
+        virXMLFormatElement(childBuf, "channel", &spiceBuf, NULL);
+    }
+
+#define FORMAT_SPICE_FEATURE(name, attr, value, toStringFunc) \
+    if (value) { \
+        virBufferAsprintf(&spiceBuf, " " attr "='%s'", toStringFunc(value)); \
+    } \
+    virXMLFormatElement(childBuf, name, &spiceBuf, NULL);
+
+    FORMAT_SPICE_FEATURE("image", "compression", def->data.spice.image,
+                         virDomainGraphicsSpiceImageCompressionTypeToString);
+    FORMAT_SPICE_FEATURE("jpeg", "compression", def->data.spice.jpeg,
+                         virDomainGraphicsSpiceJpegCompressionTypeToString);
+    FORMAT_SPICE_FEATURE("zlib", "compression", def->data.spice.zlib,
+                         virDomainGraphicsSpiceZlibCompressionTypeToString);
+    FORMAT_SPICE_FEATURE("playback", "compression", def->data.spice.playback,
+                         virTristateSwitchTypeToString);
+    FORMAT_SPICE_FEATURE("streaming", "mode", def->data.spice.streaming,
+                         virDomainGraphicsSpiceStreamingModeTypeToString);
+    FORMAT_SPICE_FEATURE("mouse", "mode", def->data.spice.mousemode,
+                         virDomainMouseModeTypeToString);
+    FORMAT_SPICE_FEATURE("clipboard", "copypaste", def->data.spice.copypaste,
+                         virTristateBoolTypeToString);
+    FORMAT_SPICE_FEATURE("filetransfer", "enable", def->data.spice.filetransfer,
+                         virTristateBoolTypeToString);
+
+    virDomainGraphicsDefFormatGL(childBuf, def->data.spice.gl, def->data.spice.rendernode);
+
     return 0;
 }
 
@@ -26645,7 +26684,6 @@ virDomainGraphicsDefFormat(virBuffer *buf,
     g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
     g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
     const char *type = virDomainGraphicsTypeToString(def->type);
-    size_t i;
 
     if (!type) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -26690,47 +26728,6 @@ virDomainGraphicsDefFormat(virBuffer *buf,
         break;
     }
 
-    if (def->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
-        g_auto(virBuffer) spiceBuf = VIR_BUFFER_INITIALIZER;
-
-        for (i = 0; i < VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_LAST; i++) {
-            int mode = def->data.spice.channels[i];
-            if (mode == VIR_DOMAIN_GRAPHICS_SPICE_CHANNEL_MODE_ANY)
-                continue;
-
-            virBufferAsprintf(&spiceBuf, " name='%s' mode='%s'",
-                              virDomainGraphicsSpiceChannelNameTypeToString(i),
-                              virDomainGraphicsSpiceChannelModeTypeToString(mode));
-
-            virXMLFormatElement(&childBuf, "channel", &spiceBuf, NULL);
-        }
-
-#define FORMAT_SPICE_FEATURE(name, attr, value, toStringFunc) \
-    if (value) { \
-        virBufferAsprintf(&spiceBuf, " " attr "='%s'", toStringFunc(value)); \
-    } \
-    virXMLFormatElement(&childBuf, name, &spiceBuf, NULL);
-
-        FORMAT_SPICE_FEATURE("image", "compression", def->data.spice.image,
-                             virDomainGraphicsSpiceImageCompressionTypeToString);
-        FORMAT_SPICE_FEATURE("jpeg", "compression", def->data.spice.jpeg,
-                             virDomainGraphicsSpiceJpegCompressionTypeToString);
-        FORMAT_SPICE_FEATURE("zlib", "compression", def->data.spice.zlib,
-                             virDomainGraphicsSpiceZlibCompressionTypeToString);
-        FORMAT_SPICE_FEATURE("playback", "compression", def->data.spice.playback,
-                             virTristateSwitchTypeToString);
-        FORMAT_SPICE_FEATURE("streaming", "mode", def->data.spice.streaming,
-                             virDomainGraphicsSpiceStreamingModeTypeToString);
-        FORMAT_SPICE_FEATURE("mouse", "mode", def->data.spice.mousemode,
-                             virDomainMouseModeTypeToString);
-        FORMAT_SPICE_FEATURE("clipboard", "copypaste", def->data.spice.copypaste,
-                             virTristateBoolTypeToString);
-        FORMAT_SPICE_FEATURE("filetransfer", "enable", def->data.spice.filetransfer,
-                             virTristateBoolTypeToString);
-
-        virDomainGraphicsDefFormatGL(&childBuf, def->data.spice.gl, def->data.spice.rendernode);
-    }
-
     if (def->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC)
         virDomainGraphicsDefFormatAudio(&childBuf, def->data.vnc.audioId);
 
-- 
2.48.1