summaryrefslogblamecommitdiffstats
path: root/src/main/java/org/openslx/virtualization/virtualizer/VirtualizerQemu.java
blob: 0b8c96244a01b204ca2838bfd3f64aae30330175 (plain) (tree)























                                                               




                                                                                                     









                                                                                                                   

                                                                                                                           







                                                                           
package org.openslx.virtualization.virtualizer;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.openslx.thrifthelper.TConst;
import org.openslx.vm.disk.DiskImage;
import org.openslx.vm.disk.DiskImage.ImageFormat;

/**
 * Representation of the QEMU virtualizer for virtual machines.
 * 
 * @author Manuel Bentele
 * @version 1.0
 */
public class VirtualizerQemu extends Virtualizer
{
	/**
	 * Name of the QEMU virtualizer.
	 */
	private static final String VIRTUALIZER_NAME = "QEMU";

	/**
	 * File name suffix for virtualization configuration files (Libvirt) of the QEMU virtualizer.
	 */
	private static final String VIRTUALIZER_CONFIG_FILE_NAME_SUFFIX = "xml";

	/**
	 * List of supported image formats by the QEMU virtualizer.
	 */
	private static final List<DiskImage.ImageFormat> VIRTUALIZER_SUPPORTED_IMAGE_FORMATS = Collections
			.unmodifiableList( Arrays.asList( ImageFormat.QCOW2, ImageFormat.VMDK, ImageFormat.VDI ) );

	/**
	 * Creates a new QEMU virtualizer.
	 */
	public VirtualizerQemu()
	{
		super( new org.openslx.bwlp.thrift.iface.Virtualizer( TConst.VIRT_QEMU, VirtualizerQemu.VIRTUALIZER_NAME ),
				VirtualizerQemu.VIRTUALIZER_CONFIG_FILE_NAME_SUFFIX );
	}

	@Override
	public List<ImageFormat> getSupportedImageFormats()
	{
		return VirtualizerQemu.VIRTUALIZER_SUPPORTED_IMAGE_FORMATS;
	}
}