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