package org.ovirt.engine.core.dao; import java.util.List; import org.ovirt.engine.core.common.businessentities.HostDevice; import org.ovirt.engine.core.common.businessentities.HostDeviceId; import org.ovirt.engine.core.common.businessentities.HostDeviceView; import org.ovirt.engine.core.common.businessentities.VmDevice; import org.ovirt.engine.core.compat.Guid; public interface HostDeviceDao extends GenericDao<HostDevice, HostDeviceId>, MassOperationsDao<HostDevice, HostDeviceId> { List<HostDevice> getHostDevicesByHostId(Guid hostId); List<HostDevice> getHostDevicesByHostIdAndIommuGroup(Guid hostId, int iommuGroup); List<HostDeviceView> getVmExtendedHostDevicesByVmId(Guid vmId); List<VmDevice> getVmDevicesAttachedToHost(Guid hostId); List<HostDeviceView> getExtendedHostDevicesByHostId(Guid hostId); HostDevice getHostDeviceByHostIdAndDeviceName(Guid hostId, String deviceName); boolean checkVmHostDeviceAvailability(Guid vmId, Guid hostId); void markHostDevicesUsedByVmId(Guid vmId, Guid hostId); void freeHostDevicesUsedByVmId(Guid vmId); void setVmIdOnHostDevice(HostDeviceId deviceId, Guid vmId); void cleanDownVms(); }