package jetbrains.mps.ide.platform.watching;
/*Generated by MPS */
import jetbrains.mps.util.annotation.ToRemove;
import com.intellij.openapi.application.ApplicationManager;
import jetbrains.mps.util.Computable;
public abstract class ReloadManager {
private static ReloadManager INSTANCE;
/**
*
* @deprecated please use ReloadManagerComponent explicitly
*/
@Deprecated
@ToRemove(version = 3.4)
public static ReloadManager getInstance() {
if (INSTANCE == null) {
INSTANCE = ApplicationManager.getApplication().getComponent(ReloadManager.class);
}
return INSTANCE;
}
public abstract <T extends ReloadParticipant> void runReload(Class<T> participantClass, ReloadAction<T> reloadAction);
public abstract void addReloadListener(ReloadListener listener);
public abstract void removeReloadListener(ReloadListener listener);
public abstract <T> T computeNoReload(Computable<T> computable);
public abstract void flush();
}