/******************************************************************************* * Copyright (c) 2005, 2010 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.core; /** * This interface represents an additionalInput instance in the managed build system. * This element is only present if the user or a tool integrator needs to define * additional inputs or dependencies to a tool. An inputType element can have * multiple additionalInput children. * * @since 3.0 * @noextend This class is not intended to be subclassed by clients. * @noimplement This interface is not intended to be implemented by clients. */ public interface IAdditionalInput { // Schema attribute names for additionalInput elements public static final String ADDITIONAL_INPUT_ELEMENT_NAME = "additionalInput"; //$NON-NLS-1$ public static final String PATHS = "paths"; //$NON-NLS-1$ public static final String KIND = "kind"; //$NON-NLS-1$ public static final String ADDITIONAL_DEPENDENCY = "additionaldependency"; //$NON-NLS-1$ public static final int KIND_ADDITIONAL_DEPENDENCY = 1; public static final String ADDITIONAL_INPUT = "additionalinput"; //$NON-NLS-1$ public static final int KIND_ADDITIONAL_INPUT = 2; public static final String ADDITIONAL_INPUT_DEPENDENCY = "additionalinputdependency"; //$NON-NLS-1$ public static final int KIND_ADDITIONAL_INPUT_DEPENDENCY = 3; /** * Returns the InputType parent of this AdditionalInput. * * @return IInputType */ public IInputType getParent(); /** * Returns an array of the relative or absolute paths of the resources * to which this element applies. * The resources must be a member of the project, the output from another tool in the * tool-chain, or an external file. The file name of the path can use GNU Make pattern * rule syntax (in order to generate the name from the input file name). * * @return String[] */ public String[] getPaths(); /** * Sets semicolon separated list of the relative or absolute paths of the resources to * which this element applies. */ public void setPaths(String paths); /** * Returns the kind of additional input. The valid values are: * KIND_ADDITIONAL_DEPENDENCY - added as a tool dependency, but not to the command line. * KIND_ADDITIONAL_INPUT - added as an additional input to the command line, but not as a dependency. * KIND_ADDITIONAL_INPUT_DEPENDENCY - added as both. * The default is KIND_ADDITIONAL_INPUT_DEPENDENCY */ public int getKind(); /** * Sets the kind of additional input. */ public void setKind(int kind); /** * Returns <code>true</code> if this element has changes that need to * be saved in the project file, else <code>false</code>. * * @return boolean */ public boolean isDirty(); /** * Sets the element's "dirty" (have I been modified?) flag. */ public void setDirty(boolean isDirty); }