diff options
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/tcmodification/IToolListModification.java')
-rw-r--r-- | build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/tcmodification/IToolListModification.java | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/tcmodification/IToolListModification.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/tcmodification/IToolListModification.java new file mode 100644 index 00000000000..15dfcc7d4ef --- /dev/null +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/tcmodification/IToolListModification.java @@ -0,0 +1,63 @@ +/******************************************************************************* + * Copyright (c) 2007 Intel Corporation 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: + * Intel Corporation - Initial API and implementation + *******************************************************************************/ +package org.eclipse.cdt.managedbuilder.tcmodification; + +import org.eclipse.cdt.managedbuilder.core.ITool; + +public interface IToolListModification extends IApplicableModification { + /** + * specifies the set of tools to be validated + * once the set of tools is modified, + * all previously calculated ToolModifications become invalid, + * i.e. one should re-query the ToolModification for each tool needed + * Note that this method does NOT apply the tools to the underlying resource info + * For applying the settings the {@link IApplicableModification#apply()} method should be called + * + * @param tools + */ + void changeProjectTools(ITool removeTools, ITool addTool); + + /** + * returns the list of tools assigned to the given resource info + * on the ToolListModificatrion creation the tool-list is the one + * contained by the given resource info + * the list can be changed by calling the {@link #setProjectTools(ITool[])} method + * + * @return + */ + ITool[] getProjectTools(); + +// ITool[] getSystemTools(); + + /** + * returns a list of tool modifications for all project tools contained + * by this toollist modification + */ + IToolModification[] getProjectToolModifications(); + + /** + * returns a list of tool modifications for all system tools not contained + * by this toollist modification + */ + IToolModification[] getSystemToolModifications(); + + /** + * returns a tool-list modification for the given tool + * if a is one of the project tools contained by this tool-list modification + * the returned ToolModification is a project modification for that tool + * otherwise the returned ToolModification tool is a system tool modification for the + * given system tool + * + * @param tool + * @return + */ + IToolModification getToolModification(ITool tool); +} |