org.eclipse.cdt.managedbuilder.macros
Interface IProjectBuildMacroSupplier


public interface IProjectBuildMacroSupplier

this interface is to be implemented by the tool-integrator for supplying the project-specific macros

Since:
3.0

Method Summary
 IBuildMacro getMacro(java.lang.String macroName, IManagedProject project, IBuildMacroProvider provider)
           
 IBuildMacro[] getMacros(IManagedProject project, IBuildMacroProvider provider)
           
 

Method Detail

getMacro

IBuildMacro getMacro(java.lang.String macroName,
                     IManagedProject project,
                     IBuildMacroProvider provider)
Parameters:
project - the instance of the managed project
provider - the instance of the build macro provider to be used for querying the build macros from within the supplier. The supplier should use this provider to obtain the already defined build macros instead of using the �default� provider returned by the ManagedBuildManager.getBuildMacroProvider(). The provider passed to a supplier will ignore searching macros for the levels higher than the current supplier level, will query only the lower-precedence suppliers for the current level and will query all suppliers for the lower levels. This is done to avoid infinite loops that could be caused if the supplier calls the provider and the provider in turn calls that supplier again. Also the supplier should not know anything about the build macros defined for the higher levels.
Returns:
the reference to the IBuildMacro interface representing the build macro of a given name or null if the macro of that name is not defined

getMacros

IBuildMacro[] getMacros(IManagedProject project,
                        IBuildMacroProvider provider)
Parameters:
project - the instance of the managed project
provider - the instance of the build macro provider to be used for querying the build macros from within the supplier. The supplier should use this provider to obtain the already defined build macros instead of using the �default� provider returned by the ManagedBuildManager.getBuildMacroProvider(). The provider passed to a supplier will ignore searching macros for the levels higher than the current supplier level, will query only the lower-precedence suppliers for the current level and will query all suppliers for the lower levels. This is done to avoid infinite loops that could be caused if the supplier calls the provider and the provider in turn calls that supplier again. Also the supplier should not know anything about the build macros defined for the higher levels.
Returns:
the IBuildMacro[] array representing defined macros