package com.aptana.ide.update.manager;
import java.net.URI;
import java.net.URL;
import java.util.Collection;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
public interface IPluginManager
{
public void checkForUpdates(boolean immediate);
public abstract IStatus install(IPlugin[] plugins, IProgressMonitor monitor)
throws PluginManagerException;
public abstract IStatus uninstall(IPlugin plugin, IProgressMonitor monitor) throws PluginManagerException;
public abstract List<IPlugin> getInstalledPlugins();
public abstract boolean isFeatureInstalled(String id);
public abstract List<Plugin> getRemotePlugins();
public abstract Collection<PluginListener> getListeners();
public abstract void addListener(PluginListener pluginsListener);
public abstract void removeListener(PluginListener pluginsListener);
public boolean addUpdateSite(URL siteURL);
public void removeUpdateSite(URL siteURL);
public IPlugin getInstalledFeature(String id);
public String getUpdatePreferencePageId();
public URI[] getAllMetadataRepositories() throws PluginManagerException;
}