summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/util/vm/QemuMetaData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/util/vm/QemuMetaData.java')
-rw-r--r--src/main/java/org/openslx/util/vm/QemuMetaData.java32
1 files changed, 20 insertions, 12 deletions
diff --git a/src/main/java/org/openslx/util/vm/QemuMetaData.java b/src/main/java/org/openslx/util/vm/QemuMetaData.java
index dcb3b68..cd18abd 100644
--- a/src/main/java/org/openslx/util/vm/QemuMetaData.java
+++ b/src/main/java/org/openslx/util/vm/QemuMetaData.java
@@ -15,7 +15,7 @@ import org.openslx.thrifthelper.TConst;
import org.openslx.util.vm.DiskImage.ImageFormat;
import org.openslx.util.vm.DiskImage.UnknownImageFormatException;
-public class QemuMetaData extends VmMetaData<VBoxSoundCardMeta, VBoxDDAccelMeta, VBoxHWVersionMeta, VBoxEthernetDevTypeMeta>
+public class QemuMetaData extends VmMetaData<VBoxSoundCardMeta, VBoxDDAccelMeta, VBoxHWVersionMeta, VBoxEthernetDevTypeMeta, VBoxUsbSpeedMeta>
{
private final Map<String, String> arguments = new HashMap<String, String>();
@@ -37,7 +37,7 @@ public class QemuMetaData extends VmMetaData<VBoxSoundCardMeta, VBoxDDAccelMeta,
if ( di == null || di.format != ImageFormat.QCOW2 ) {
throw new UnsupportedVirtualizerFormatException( "This is not a qcow2 disk image" );
}
- config = "qemu-system-i386 <args> <image> -enable-kvm \n\r qemu-system-x86_64 <args> <image> -enable-kvm";
+ config = "qemu-system-i386 <args> <image> -enable-kvm\nqemu-system-x86_64 <args> <image> -enable-kvm";
displayName = file.getName().substring( 0, file.getName().indexOf( "." ) );
setOs( "anyOs" );
hdds.add( new HardDisk( "anychipset", DriveBusType.IDE, file.getAbsolutePath() ) );
@@ -201,25 +201,33 @@ public class QemuMetaData extends VmMetaData<VBoxSoundCardMeta, VBoxDDAccelMeta,
}
@Override
- public void enableUsb( boolean enabled )
+ public boolean disableSuspend()
{
- // TODO test this properly
- if ( enabled ) {
- arguments.put( "usb", "" );
- } else {
- arguments.remove( "usb" );
- }
+ return false;
}
@Override
- public boolean disableSuspend()
+ public void registerVirtualHW()
{
- return false;
}
@Override
- public void registerVirtualHW()
+ public void setMaxUsbSpeed( VmMetaData.UsbSpeed speed )
+ {
+ // TODO: Actual speed setting?
+ if ( speed == null || speed == VmMetaData.UsbSpeed.NONE ) {
+ arguments.remove( "usb" );
+ } else {
+ arguments.put( "usb", "" );
+ }
+ }
+
+ @Override
+ public VmMetaData.UsbSpeed getMaxUsbSpeed()
{
+ if ( arguments.containsKey( "usb" ) )
+ return VmMetaData.UsbSpeed.USB2_0; // TODO
+ return VmMetaData.UsbSpeed.NONE;
}
}