package org.erlide.engine.services.search; import java.util.Collection; import java.util.List; import org.eclipse.core.runtime.IPath; import org.erlide.engine.services.ErlangService; import org.erlide.runtime.rpc.IOtpRpc; import org.erlide.runtime.rpc.RpcException; import com.ericsson.otp.erlang.OtpErlangList; import com.ericsson.otp.erlang.OtpErlangObject; import com.ericsson.otp.erlang.OtpErlangTuple; public interface OpenService extends ErlangService { OtpErlangObject getSourceFromModule(final OtpErlangList pathVars, final String mod, final String externalModules) throws RpcException; OpenResult open(final String scannerName, final int offset, final List<OtpErlangObject> imports, final String externalModules, final OtpErlangList pathVars) throws RpcException; OpenResult openText(final String text, final int offset) throws RpcException; OtpErlangTuple mkContext(final String externalModules, final String externalIncludes, final OtpErlangList pathVars, final Collection<IPath> extraSourcePaths, final Collection<OtpErlangObject> imports); OtpErlangTuple findFirstVar(final String name, final String source); public class ExternalTreeEntry { private final String parentPath; private final String path; // private final String name; private final boolean isModule; public ExternalTreeEntry(final String parentPath, final String path, // final String name, final boolean isModule) { super(); this.parentPath = parentPath; this.path = path; // this.name = name; this.isModule = isModule; } public String getParentPath() { return parentPath; } public String getPath() { return path; } public boolean isModule() { return isModule; } } List<ExternalTreeEntry> getExternalModuleTree(IOtpRpc backend, final String externalModules, final OtpErlangList pathVars); String getExternalInclude(final String filePath, final String externalIncludes, final OtpErlangList pathVars); List<String> getLibFiles(final String entry); Collection<String> getIncludesInDir(final String directory); OtpErlangList getOtpLibStructure(IOtpRpc backend); }