]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: generalize virDomainDefHasSpiceGraphics
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Sun, 16 Mar 2025 08:18:29 +0000 (12:18 +0400)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 18 Mar 2025 13:15:56 +0000 (14:15 +0100)
Generalize the function, broaden its potential usage.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms
src/qemu/qemu_validate.c

index 7e7b007b9d422bfb97e1efa56d022ab2e99eed64..5748a89bd17df173edb405ecccefd2003b655c95 100644 (file)
@@ -31771,15 +31771,24 @@ virDomainObjGetMessages(virDomainObj *vm,
 
 }
 
+
+/**
+ * virDomainDefHasGraphics:
+ * @def: domain definition
+ * @type: a graphics type
+ *
+ * Returns true if domain has a graphics of given type.
+ */
 bool
-virDomainDefHasSpiceGraphics(const virDomainDef *def)
+virDomainDefHasGraphics(const virDomainDef *def, virDomainGraphicsType type)
 {
     size_t i = 0;
 
     for (i = 0; i < def->ngraphics; i++) {
-        if (def->graphics[i]->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
+        virDomainGraphicsDef *graphics = def->graphics[i];
+
+        if (graphics->type == type)
             return true;
-        }
     }
 
     return false;
index dd49cfd144e055aa366115179c5304dd92b00e2f..32756e4dce6b44b7b09374b8bb49aaeee21db163 100644 (file)
@@ -4631,4 +4631,4 @@ virDomainObjGetMessages(virDomainObj *vm,
                         unsigned int flags);
 
 bool
-virDomainDefHasSpiceGraphics(const virDomainDef *def);
+virDomainDefHasGraphics(const virDomainDef *def, virDomainGraphicsType type);
index e78abdad15c29e8a122afd01ad2b07f390c9aeee..f4ec26eba3596b87ee2c5762fa09d2d804f8c3b9 100644 (file)
@@ -337,6 +337,7 @@ virDomainDefGetVcpus;
 virDomainDefGetVcpusMax;
 virDomainDefGetVcpusTopology;
 virDomainDefHasDeviceAddress;
+virDomainDefHasGraphics;
 virDomainDefHasManagedPR;
 virDomainDefHasMdevHostdev;
 virDomainDefHasMemballoon;
@@ -345,7 +346,6 @@ virDomainDefHasNVMeDisk;
 virDomainDefHasOldStyleROUEFI;
 virDomainDefHasOldStyleUEFI;
 virDomainDefHasPCIHostdev;
-virDomainDefHasSpiceGraphics;
 virDomainDefHasUSB;
 virDomainDefHasVcpusOffline;
 virDomainDefHasVDPANet;
index af334aa96a8c05cf832678d4e0cdcabeb5bd1dac..ef217ffc9ecf0acebcc9eecbbb19ef6148320270 100644 (file)
@@ -2153,7 +2153,7 @@ qemuValidateDomainChrSourceDef(const virDomainChrSourceDef *def,
 
     case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
     case VIR_DOMAIN_CHR_TYPE_SPICEPORT:
-        if (!virDomainDefHasSpiceGraphics(vmdef)) {
+        if (!virDomainDefHasGraphics(vmdef, VIR_DOMAIN_GRAPHICS_TYPE_SPICE)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("chardev '%1$s' not supported without spice graphics"),
                            virDomainChrTypeToString(def->type));
@@ -4737,7 +4737,7 @@ qemuValidateDomainDeviceDefAudio(virDomainAudioDef *audio,
         break;
 
     case VIR_DOMAIN_AUDIO_TYPE_SPICE:
-        if (!virDomainDefHasSpiceGraphics(def)) {
+        if (!virDomainDefHasGraphics(def, VIR_DOMAIN_GRAPHICS_TYPE_SPICE)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("Spice audio is not supported without spice graphics"));
             return -1;