/******************************************************************************* * Copyright (c) 2008, 2009 Nokia 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: * Nokia - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.debug.core.executables; import org.eclipse.core.runtime.IProgressMonitor; /** * ISourceFileProvider supplies a list of source files used by a given Executable. * * @author Ken Ryall * @since 6.0 * */ public interface ISourceFilesProvider { public static final int LOW_PRIORITY = 25; public static final int NORMAL_PRIORITY = 50; public static final int HIGH_PRIORITY = 75; /** * Gets the priority to be used for this executable. * The priority is used by the Executables Manager when multiple ISourceFilesProviders are available. * ISourceFilesProvider.getSourceFiles will be called for each one in priority order and will use the * first one that returns a non empty result. * * @param executable * @return the priority level to be used for this ISourceFilesProvider */ int getPriority(Executable executable); /** * Returns a list of source files used by an executable. * @param executable * @param monitor * @return The list of source files for the executable. These may be file name, full or partial paths. */ String[] getSourceFiles(Executable executable, IProgressMonitor monitor); }