Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java63
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);
+}

Back to the top