/******************************************************************************* * 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.core.settings.model; import org.eclipse.core.runtime.IPath; /** * Representation in the project model of language settings entries * such as library file (-l gcc option). See {@link ICSettingEntry#LIBRARY_FILE}. */ public interface ICLibraryFileEntry extends ICLanguageSettingPathEntry { /** * Returns the path to the source archive or folder associated with this * C path entry, or <code>null</code> if this C path entry has no * source attachment. * <p> * Only library and variable C path entries may have source attachments. * For library C path entries, the result path (if present) locates a source * archive or folder. This archive or folder can be located in a project of the * workspace or outside thr workspace. For variable c path entries, the * result path (if present) has an analogous form and meaning as the * variable path, namely the first segment is the name of a c path variable. * </p> * * @return the path to the source archive or folder, or <code>null</code> if none */ IPath getSourceAttachmentPath(); /** * Returns the path within the source archive or folder where source * are located. An empty path indicates that packages are located at * the root of the source archive or folder. Returns a non-<code>null</code> value * if and only if <code>getSourceAttachmentPath</code> returns * a non-<code>null</code> value. * * @return the path within the source archive or folder, or <code>null</code> if * not applicable */ IPath getSourceAttachmentRootPath(); /** * Returns the path to map the source paths with to the source achive or folder * An empty path indicates that the is a one-to-one mapping of source paths to the * source achive or folder path. Returns a non-<code>null</code> value * if and only if <code>getSourceAttachmentPath</code> returns * a non-<code>null</code> value. * * @return the path mapping within the source archive or folder, or <code>null</code> if * not applicable */ IPath getSourceAttachmentPrefixMapping(); }