blob: c6e19379537bdf34b4a145b608c02088f3344223 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 QNX Software Systems 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
*******************************************************************************/
package org.eclipse.cdt.core.build;
import java.util.Collection;
import java.util.Map;
import org.eclipse.core.runtime.CoreException;
/**
* The global toolchain manager. Accessed as an OSGi service.
*
* @since 6.0
*/
public interface IToolChainManager {
IToolChainProvider getProvider(String providerId) throws CoreException;
IToolChain getToolChain(String providerId, String id, String version) throws CoreException;
Collection<IToolChain> getToolChains(String providerId) throws CoreException;
Collection<IToolChain> getToolChains(String providerId, String id) throws CoreException;
/**
* Returns the list of toolchains that have the given properties.
*
* @param properties
* properties of the toolchains
* @return the qualified toolchains
*/
Collection<IToolChain> getToolChainsMatching(Map<String, String> properties) throws CoreException;
void addToolChain(IToolChain toolChain);
void removeToolChain(IToolChain toolChain);
}