| /******************************************************************************* |
| * Copyright (c) 2000, 2009 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 |
| * |
| * Contributors: |
| * QNX Software Systems - Initial API and implementation |
| * Andrew Ferguson (Symbian) |
| * James Blackburn (Broadcom Corp.) |
| *******************************************************************************/ |
| package org.eclipse.cdt.core; |
| |
| import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; |
| import org.eclipse.cdt.core.settings.model.ICProjectDescription; |
| import org.eclipse.cdt.core.settings.model.ICStorageElement; |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.core.runtime.CoreException; |
| import org.w3c.dom.Element; |
| /** |
| * @deprecated as this API is not configuration aware. Replaced by |
| * {@link ICConfigurationDescription} which can be fetched with |
| * {@link ICProjectDescription#getConfigurations()} |
| * @noreference This interface is not intended to be referenced by clients. |
| */ |
| @Deprecated |
| public interface ICDescriptor { |
| public ICOwnerInfo getProjectOwner(); |
| public String getPlatform(); |
| |
| /** |
| * @return the associated project |
| */ |
| public IProject getProject(); |
| |
| /** |
| * Returns an {@link ICExtensionReference}[] corresponding to a particular extensionPoint. |
| * This array contains all the ICExtensionReferences from all the ICConfigurationDescriptions |
| * in the project |
| * @param extensionPointID String extensionPointID |
| * @return ICExtensionReference[] ICExtensionReference array |
| * @deprecated |
| * @use {@link ICConfigurationDescription#get(String)} |
| */ |
| @Deprecated |
| public ICExtensionReference[] get(String extensionPointID); |
| |
| /** |
| * Returns an {@link ICExtensionReference}[] corresponding to a particular extensionPoint. |
| * This array contains all the ICExtensionReferences from all the ICConfigurationDescriptions |
| * in the project |
| * @param extensionPointID String extensionPointID |
| * @param update updates the COwner |
| * @return ICExtensionReference[] ICExtensionReference array |
| * @deprecated |
| */ |
| @Deprecated |
| public ICExtensionReference[] get(String extensionPointID, boolean update) throws CoreException; |
| |
| /** |
| * Create an ICExtensionReference for the given extensionPointId with id = id. |
| * |
| * This is not CConfigurationDescription aware and so is added to all configurations in the project. |
| * You should instead use: |
| * {@link ICConfigurationDescription#create(String, String)} |
| * |
| * @param extensionPointID |
| * @param id |
| * @return the create ICExtensionReference |
| * @throws CoreException |
| * @deprecated |
| * @use {@link ICConfigurationDescription#create(String, String)} |
| */ |
| @Deprecated |
| public ICExtensionReference create(String extensionPointID, String id) throws CoreException; |
| |
| /** |
| * Remove a given ICExtensionReference from the project description. |
| * @param extension |
| * @throws CoreException |
| * @deprecated |
| * @use {@link ICConfigurationDescription#remove(org.eclipse.cdt.core.settings.model.ICConfigExtensionReference)} |
| */ |
| @Deprecated |
| public void remove(ICExtensionReference extension) throws CoreException; |
| |
| /** |
| * Remove ICExtensionReferences with the given extensionPoint from |
| * this descriptor |
| * @param extensionPoint |
| * @throws CoreException |
| * @deprecated |
| * @use {@link ICConfigurationDescription#remove(String)} |
| */ |
| @Deprecated |
| public void remove(String extensionPoint) throws CoreException; |
| |
| /** |
| * Return a storage element corresponding to the id in which |
| * client related metadata may be stored. |
| * |
| * @param id an identifier that uniquely identifies the client |
| * @return a non-null {@link ICStorageElement} to which client specific meta-data may be attached |
| * @throws CoreException |
| * @since 5.1 |
| */ |
| public ICStorageElement getProjectStorageElement(String id) throws CoreException; |
| |
| /** |
| * This method has been superceded by {@link ICDescriptor#getProjectStorageElement(String)} |
| * @param id an identifier that uniquely identifies the client |
| * @return a non-null {@link Element} to which client specific meta-data may be attached |
| * @throws CoreException |
| * @deprecated |
| * @noreference This method is not intended to be referenced by clients. |
| * @use {@link ICDescriptor#getProjectStorageElement(String)} |
| */ |
| @Deprecated |
| public Element getProjectData(String id) throws CoreException; |
| |
| /** |
| * Remove the storage element with the given ID from the tree |
| * @param id |
| * @return the ICStorageElement removed or null if there was none for id |
| * @throws CoreException |
| * @since 5.1 |
| */ |
| public ICStorageElement removeProjectStorageElement(String id) throws CoreException; |
| |
| /** |
| * Saves any changes made to {@link ICStorageElement} objects obtained from {@link #getProjectStorageElement(String)} |
| * to a CDT defined project meta-data file. |
| * @throws CoreException |
| */ |
| public void saveProjectData() throws CoreException; |
| |
| /** |
| * Returns the current settings configuration (which contains this descriptor) -- currently |
| * equivalent to {@link ICProjectDescription#getDefaultSettingConfiguration()} |
| * @return the current setting {@link ICConfigurationDescription} |
| */ |
| ICConfigurationDescription getConfigurationDescription(); |
| |
| } |