package org.erlide.engine; import org.erlide.engine.model.root.IErlModel; import org.erlide.engine.model.root.IErlModule; import org.erlide.engine.model.root.IErlProject; import org.erlide.engine.model.root.IProjectConfiguratorFactory; import org.erlide.engine.services.ErlangService; import org.erlide.engine.services.GenericService; import org.erlide.engine.services.cleanup.CleanupProvider; import org.erlide.engine.services.codeassist.CompletionService; import org.erlide.engine.services.codeassist.ContextAssistService; import org.erlide.engine.services.edoc.EdocExportService; import org.erlide.engine.services.parsing.ParserService; import org.erlide.engine.services.parsing.ScannerProviderService; import org.erlide.engine.services.parsing.SimpleParserService; import org.erlide.engine.services.parsing.SimpleScannerService; import org.erlide.engine.services.proclist.ProclistService; import org.erlide.engine.services.search.ModelFindService; import org.erlide.engine.services.search.ModelSearcherService; import org.erlide.engine.services.search.ModelUtilService; import org.erlide.engine.services.search.SearchServerService; public interface IErlangEngine { boolean isAvailable(); <T extends ErlangService> T getService(Class<T> type); IErlModel getModel(); String getStateDir(); // // ContextAssistService getContextAssistService(); SearchServerService getSearchServerService(); ModelUtilService getModelUtilService(); CleanupProvider getCleanupProvider(); ParserService getParserService(); ScannerProviderService getScannerProviderService(); EdocExportService getEdocExportService(); ProclistService getProclistService(); SimpleScannerService getSimpleScannerService(); SimpleParserService getSimpleParserService(); ModelFindService getModelFindService(); ModelSearcherService getModelSearcherService(); CompletionService getCompletionService(IErlProject project, IErlModule module, String elementBefore); // TODO GenericService getGenericService(); // INTERNAL use IProjectConfiguratorFactory getProjectConfiguratorFactory(); }