blob: 6d13379a1f2c7e80b3c0d9a7f175944880f09560 [file] [log] [blame]
/*
* Copyright (c) 2014, 2015, 2017 Eike Stepper (Loehne, Germany) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.oomph.p2.core;
import org.eclipse.oomph.p2.P2Exception;
import org.eclipse.core.runtime.IProgressMonitor;
import java.io.File;
import java.util.Collection;
import java.util.Set;
/**
* @author Eike Stepper
*/
public interface AgentManager
{
/**
* Specifies the location of the shared pool as a system property.
* The special value "@none" indicates that no shared pool should be used.
*/
public static final String PROP_BUNDLE_POOL_LOCATION = "oomph.p2.pool";
public static final String BUNDLE_POOL_LOCATION_NONE = "@none";
public Agent getCurrentAgent();
public File getDefaultAgentLocation();
public Set<File> getAgentLocations();
public Collection<Agent> getAgents();
public Agent getAgent(File location);
public Agent addAgent(File location);
public void refreshAgents(IProgressMonitor monitor);
public Collection<BundlePool> getBundlePools();
public BundlePool getBundlePool(File location) throws P2Exception;
public BundlePool getDefaultBundlePool(String client) throws P2Exception;
public void setDefaultBundlePool(String client, BundlePool bundlePool);
}