From a306c5617fd1d4e09739655fa7070a300dac2b13 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 27 Mar 2025 14:10:08 +0100 Subject: [libvirt] Make sure VMs have at least 5 spicevmc usb ports --- .../libvirt/domain/device/ControllerUsb.java | 9 ++++ .../org/openslx/libvirt/domain/device/Device.java | 62 +++++++++++++++------- .../openslx/libvirt/domain/device/RedirDevice.java | 13 ++--- 3 files changed, 56 insertions(+), 28 deletions(-) (limited to 'src/main/java/org/openslx/libvirt/domain/device') diff --git a/src/main/java/org/openslx/libvirt/domain/device/ControllerUsb.java b/src/main/java/org/openslx/libvirt/domain/device/ControllerUsb.java index 1798027..1be42e5 100644 --- a/src/main/java/org/openslx/libvirt/domain/device/ControllerUsb.java +++ b/src/main/java/org/openslx/libvirt/domain/device/ControllerUsb.java @@ -1,6 +1,7 @@ package org.openslx.libvirt.domain.device; import org.openslx.libvirt.xml.LibvirtXmlNode; +import org.openslx.util.Util; /** * A USB controller device node in a Libvirt domain XML document. @@ -136,4 +137,12 @@ public class ControllerUsb extends Controller return null; } } + + /** + * Get number of ports this controller provides. + */ + public int getPortCount() + { + return Util.parseInt( this.getXmlElementAttributeValue( "ports" ), -1 ); + } } diff --git a/src/main/java/org/openslx/libvirt/domain/device/Device.java b/src/main/java/org/openslx/libvirt/domain/device/Device.java index d743522..f391663 100644 --- a/src/main/java/org/openslx/libvirt/domain/device/Device.java +++ b/src/main/java/org/openslx/libvirt/domain/device/Device.java @@ -1,5 +1,6 @@ package org.openslx.libvirt.domain.device; +import org.apache.commons.lang3.NotImplementedException; import org.openslx.libvirt.xml.LibvirtXmlNode; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -48,7 +49,7 @@ public class Device extends LibvirtXmlNode implements HostdevAddressableTarget