blob: 81018548cb8f2c82c198a0c814ad362299b47769 [file] [log] [blame]
/*******************************************************************************
* 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();
}