/*******************************************************************************
* Copyright (c) 2009-2013 Vlad Dumitrescu and others. All rights reserved. This program
* and the accompanying materials are made available under the terms of the Eclipse Public
* License v1.0 which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Vlad Dumitrescu
*******************************************************************************/
package org.erlide.backend.api;
import java.net.URL;
import java.util.Collection;
import org.eclipse.xtext.xbase.lib.Pair;
import org.erlide.runtime.runtimeinfo.RuntimeVersion;
import org.osgi.framework.Bundle;
public interface ICodeBundle {
// common context is always included in the others
public static enum CodeContext {
COMMON, IDE, DEBUGGER, BUILDER
}
Bundle getBundle();
/**
* List of bundle-relative paths of ebin entries.
*
* @param context
* @return
*/
Collection<String> getEbinPaths(CodeContext context);
/**
* List of absolute paths of local directories corresponding to ebin entries.
*
* @param context
* @return
*/
Collection<String> getEbinDirs(CodeContext context);
/**
* List of URLs for all beam files within ebin entries.
*
* @param context
* @return
*/
Collection<URL> getEbinBeamURLs(CodeContext context);
Collection<Pair<String, String>> getInits();
RuntimeVersion getVersion();
}