cdt/cdt_5_0_x/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/executables/IProjectExecutablesProvider.java
author wpaul
Mon, 01 Jun 2009 19:15:36 -0500
changeset 14 c50c3d06898c
permissions -rw-r--r--
executables view changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     1
/*******************************************************************************
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia and others.
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     3
 * All rights reserved. This program and the accompanying materials
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     4
 * are made available under the terms of the Eclipse Public License v1.0
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     5
 * which accompanies this distribution, and is available at
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     6
 * http://www.eclipse.org/legal/epl-v10.html
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     7
 *
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     8
 * Contributors:
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
     9
 * Nokia - Initial API and implementation
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    10
 *******************************************************************************/
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    11
package org.eclipse.cdt.debug.core.executables;
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    12
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    13
import java.util.List;
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    14
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    15
import org.eclipse.core.resources.IProject;
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    16
import org.eclipse.core.runtime.IProgressMonitor;
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    17
import org.eclipse.core.runtime.IStatus;
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    18
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    19
/**
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    20
 * IProjectExecutablesProvider supplies a list of executables for a project
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    21
 * to the Executables Manager.
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    22
 * 
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    23
 * @author Warren Paul
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    24
 * 
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    25
 */
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    26
public interface IProjectExecutablesProvider {
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    27
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    28
	/**
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    29
	 * Get the list of project natures that should be present in projects that
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    30
	 * this provider will get the list of executables for.  Since there could
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    31
	 * be any number of executable providers, the one that matches the given
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    32
	 * project natures the closest will be chosen.
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    33
	 * @return the list of project nature id's
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    34
	 */
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    35
	List<String> getProjectNatures();	
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    36
	
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    37
	/**
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    38
	 * Get the list of executables for the given project
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    39
	 * @param project the project to get the executables for
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    40
	 * @param monitor progress monitor
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    41
	 * @return the list of executables (which may be empty)
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    42
	 */
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    43
	List<Executable> getExecutables(IProject project, IProgressMonitor monitor);
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    44
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    45
	/**
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    46
	 * Remove the given executable.  Note that the project can be obtained from Executable.
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    47
	 * @param executable the executable to remove
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    48
	 * @param monitor progress monitor
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    49
	 * @return the status of the remove operation
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    50
	 */
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    51
	IStatus removeExecutable(Executable executable, IProgressMonitor monitor);
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    52
c50c3d06898c executables view changes
wpaul
parents:
diff changeset
    53
}