package jetbrains.mps.make; /*Generated by MPS */ import java.util.concurrent.Future; import jetbrains.mps.make.script.IResult; import jetbrains.mps.make.resources.IResource; import jetbrains.mps.make.script.IScript; import jetbrains.mps.make.script.IScriptController; import org.jetbrains.annotations.NotNull; import org.jetbrains.mps.openapi.util.ProgressMonitor; public interface IMakeService { boolean openNewSession(MakeSession session); void closeSession(MakeSession session); boolean isSessionActive(); Future<IResult> make(MakeSession session, Iterable<? extends IResource> resources); Future<IResult> make(MakeSession session, Iterable<? extends IResource> resources, IScript script); Future<IResult> make(MakeSession session, Iterable<? extends IResource> resources, IScript script, IScriptController controller); Future<IResult> make(MakeSession session, Iterable<? extends IResource> resources, IScript script, IScriptController controller, @NotNull ProgressMonitor monitor); void addListener(IMakeNotificationListener listener); void removeListener(IMakeNotificationListener listener); class INSTANCE { private static IMakeService Component; private INSTANCE() { } public static IMakeService get() { if (Component == null) { throw new IllegalStateException("no make service component"); } return Component; } public static void set(IMakeService service) { Component = service; } public static boolean isSessionActive() { return IMakeService.INSTANCE.hasMakeService() && Component.isSessionActive(); } public static boolean hasMakeService() { return Component != null; } } }