package jetbrains.mps.ide.migration; /*Generated by MPS */ import com.intellij.openapi.components.AbstractProjectComponent; import jetbrains.mps.make.IMakeService; import jetbrains.mps.make.IMakeNotificationListener; import jetbrains.mps.make.MakeNotification; import com.intellij.openapi.project.Project; public class MigrationMakeBlocker extends AbstractProjectComponent { private final IMakeService myMake; private final MigrationTrigger myMigrationTrigger; private IMakeNotificationListener.Stub myListener = new IMakeNotificationListener.Stub() { @Override public void sessionOpened(MakeNotification notification) { myMigrationTrigger.blockMigrationsCheck(); } @Override public void sessionClosed(MakeNotification notification) { myMigrationTrigger.unblockMigrationsCheck(); } }; public MigrationMakeBlocker(IMakeService ms, Project ideaProject, IStartupMigrationExecutor migationTrigger) { super(ideaProject); myMake = ms; if (migationTrigger instanceof MigrationTrigger) { myMigrationTrigger = ((MigrationTrigger) migationTrigger); } else { myMigrationTrigger = null; } } @Override public void projectOpened() { if (myMigrationTrigger == null) { return; } myMake.addListener(this.myListener); } @Override public void projectClosed() { if (myMigrationTrigger == null) { return; } myMake.removeListener(myListener); } }