From: Marc-André Lureau <marcandre.lur...@redhat.com>

Generalize the function, broaden its potential usage.

Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Martin Kletzander <mklet...@redhat.com>
---
 src/conf/domain_conf.c   | 15 ++++++++++++---
 src/conf/domain_conf.h   |  2 +-
 src/libvirt_private.syms |  2 +-
 src/qemu/qemu_validate.c |  4 ++--
 4 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 7e7b007b9d..5748a89bd1 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -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;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index dd49cfd144..32756e4dce 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -4631,4 +4631,4 @@ virDomainObjGetMessages(virDomainObj *vm,
                         unsigned int flags);
 
 bool
-virDomainDefHasSpiceGraphics(const virDomainDef *def);
+virDomainDefHasGraphics(const virDomainDef *def, virDomainGraphicsType type);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index e78abdad15..f4ec26eba3 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -337,6 +337,7 @@ virDomainDefGetVcpus;
 virDomainDefGetVcpusMax;
 virDomainDefGetVcpusTopology;
 virDomainDefHasDeviceAddress;
+virDomainDefHasGraphics;
 virDomainDefHasManagedPR;
 virDomainDefHasMdevHostdev;
 virDomainDefHasMemballoon;
@@ -345,7 +346,6 @@ virDomainDefHasNVMeDisk;
 virDomainDefHasOldStyleROUEFI;
 virDomainDefHasOldStyleUEFI;
 virDomainDefHasPCIHostdev;
-virDomainDefHasSpiceGraphics;
 virDomainDefHasUSB;
 virDomainDefHasVcpusOffline;
 virDomainDefHasVDPANet;
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index af334aa96a..ef217ffc9e 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -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;
-- 
2.47.0

Reply via email to