package org.ovirt.engine.core.bll.tasks.interfaces; import java.util.ArrayList; import java.util.Map; import org.ovirt.engine.core.bll.CommandBase; import org.ovirt.engine.core.bll.tasks.SPMAsyncTask; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.asynctasks.AsyncTaskCreationInfo; import org.ovirt.engine.core.common.asynctasks.AsyncTaskParameters; import org.ovirt.engine.core.common.asynctasks.AsyncTaskType; import org.ovirt.engine.core.common.businessentities.AsyncTask; import org.ovirt.engine.core.common.businessentities.AsyncTaskStatus; import org.ovirt.engine.core.common.vdscommands.VDSReturnValue; import org.ovirt.engine.core.compat.Guid; /** * This interfaces bridges the gap between the bll and the taskmgr packages * There is still a lot of dependency between the packages and as the modules * are refactored some of the methods could be removed. */ public interface TaskHelper { ArrayList<AsyncTaskCreationInfo> getAllTasksInfo(Guid storagePoolID); Map<Guid, AsyncTaskStatus> getAllTasksStatuses(Guid storagePoolID); void stopTask(Guid storagePoolID, Guid vdsmTaskID); VDSReturnValue clearTask(Guid storagePoolID, Guid vdsmTaskID); Guid createTask( Guid taskId, CommandBase<?> command, AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand, String description, Map<Guid, VdcObjectType> entitiesMap); SPMAsyncTask concreteCreateTask( Guid taskId, CommandBase<?> command, AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand); void cancelTasks(CommandBase<?> command); void revertTasks(CommandBase<?> command); AsyncTask getAsyncTask( Guid taskId, CommandBase<?> command, AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand); AsyncTask createAsyncTask( CommandBase<?> command, AsyncTaskCreationInfo asyncTaskCreationInfo, VdcActionType parentCommand); SPMTask construct(AsyncTaskCreationInfo creationInfo); SPMTask construct(AsyncTaskCreationInfo creationInfo, AsyncTask asyncTask); SPMTask construct(AsyncTaskType taskType, AsyncTaskParameters asyncTaskParams, boolean duringInit); boolean doesCommandContainAsyncTask(Guid cmdId); }