package schedframe.scheduling.plugin; import schedframe.Plugin; import schedframe.events.scheduling.SchedulingEvent; import schedframe.scheduling.TaskList; import schedframe.scheduling.manager.resources.ResourceManager; import schedframe.scheduling.manager.tasks.JobRegistry; import schedframe.scheduling.plan.SchedulingPlanInterface; import schedframe.scheduling.queue.TaskQueueList; public interface SchedulingPlugin extends Plugin{ public boolean placeTasksInQueues(TaskList newTasks, TaskQueueList queues, ResourceManager resourceManager, ModuleList modules); public SchedulingPlanInterface schedule(SchedulingEvent event, TaskQueueList queues, JobRegistry jobRegistry, ResourceManager resourceManager, ModuleList modules); }