Carbide.c++

com.nokia.carbide.cpp.epoc.engine.model.mmp
Interface IMMPData

All Superinterfaces:
IData<IMMPView>
All Known Subinterfaces:
IMMPView

public interface IMMPData
extends IData<IMMPView>

The data provider for MMP views.

This view contains a read-only copy of data derived from an IMMPView, intended for caching. Some interfaces available through the interface may be modifiable, but any changes are ignored.

The usage of IPaths in this data is the same as with IMMPView.


Method Summary
 java.util.List<IMMPAIFInfo> getAifs()
          Get AIFs
 java.util.List<java.lang.String> getASSPLibraries()
          Get ASSP libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms.
 java.util.List<IMMPBitmap> getBitmaps()
          Get bitmaps from the unified set of START BITMAP blocks.
 java.util.List<java.lang.String> getDebugLibraries()
          Get debug libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms.
 IPath getDefFile()
          Get the DEFFILE path.
 java.util.List<IPath> getDocuments()
          Get the paths to documents.
 IPath[] getEffectiveSourcePaths()
          Get the array of paths referenced in current sources, resources, and documents, which are likely to become SOURCEPATH statements.
 java.util.Set<EMMPStatement> getFlags()
          Get flags set in MMP.
 java.util.List<EMMPLanguage> getLanguages()
          Get the old-style LANG statement.
 java.util.List<java.lang.String> getLibraries()
          Get libraries Libraries are simple filenames with the .lib extension in all platforms.
 java.util.Map<java.lang.String,java.lang.String> getLinkerOptions()
          Get the LINKEROPTION options for given toolchains.
 java.util.Map<EMMPStatement,java.util.List<java.lang.String>> getListArgumentSettings()
          Get list values for list argument statements in MMP; with case-insensitive membership tests.
 java.util.List<IMultiImageSource> getMultiImageSources()
           
 java.util.Map<java.lang.String,java.lang.String> getOptions()
          Get the OPTION options for given toolchains.
 IPath[] getRealSourcePaths()
          Get the paths provided by SOURCEPATH statements during the last parse.
 java.util.Map<java.lang.String,java.lang.String> getReplaceOptions()
          Get the OPTION_REPLACE options for given toolchains.
 java.util.List<IMMPResource> getResourceBlocks()
          Get the new-style resource blocks
 java.util.Map<EMMPStatement,java.lang.String> getSingleArgumentSettings()
          Access/modify values of single-argument statements in MMP.
 java.util.List<IPath> getSources()
          Get the paths of sources.
 java.util.List<java.lang.String> getStaticLibraries()
          Get static libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms.
 java.util.List<IPath> getSystemIncludes()
          access/modify paths of system includes
 java.util.List<IPath> getSystemResources()
          Get the old-style SYSTEMRESOURCE statement.
 IPath getTargetFilePath()
          Get the combined TARGETPATH + TARGET path.
 java.lang.String getUid2()
          Get the UID2 value.
 java.lang.String getUid3()
          Get the UID3 value.
 java.util.List<IPath> getUserIncludes()
          access/modify paths of includes.
 java.util.List<IPath> getUserResources()
          Get the old-style RESOURCE statement.
 java.util.List<java.lang.String> getWin32Libraries()
          Get Win32 libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms.
 boolean isDefFileInFixedDirectory()
          Tell if the DEFFILE setting refers to a fixed directory, e.g., if it has a path and is not a bare filename.
 
Methods inherited from interface com.nokia.carbide.cpp.epoc.engine.model.IData
getModelPath, getProjectPath, getReferencedFiles
 

Method Detail

getTargetFilePath

IPath getTargetFilePath()
Get the combined TARGETPATH + TARGET path.

Returns:
path to the file
See Also:
for individual TARGETPATH, TARGET settings

getSources

java.util.List<IPath> getSources()
Get the paths of sources.

This list provides unified access to source files. SOURCEPATH and SOURCE statements are managed behind the scenes.

See Also:
MMPViewPathHelper

getRealSourcePaths

IPath[] getRealSourcePaths()
Get the paths provided by SOURCEPATH statements during the last parse.

This is not the same as all the directories actually referenced (e.g. 'SOURCE subdir\file.cpp' does not SOURCEPATH for 'subdir').

There is no need to explicitly manage source paths; they will be generated automatically based on the paths referenced in sources, resources, and documents.

See Also:
getEffectiveSourcePaths(), getSources(), getUserResources(), getSystemResources(), getDocuments()

getEffectiveSourcePaths

IPath[] getEffectiveSourcePaths()
Get the array of paths referenced in current sources, resources, and documents, which are likely to become SOURCEPATH statements.

This includes every distinct directory referenced (e.g. a 'SOURCE subdir\file.cpp' statement brings in a new effective directory for 'subdir').

This is a copy of information derived from the current sources at the time of the query.

There is no need to explicitly manage source paths; they will be generated automatically based on the paths referenced in sources, resources, and documents.

See Also:
getRealSourcePaths(), getSources(), getUserResources(), getSystemResources(), getDocuments()

getUserIncludes

java.util.List<IPath> getUserIncludes()
access/modify paths of includes.


getSystemIncludes

java.util.List<IPath> getSystemIncludes()
access/modify paths of system includes


getLibraries

java.util.List<java.lang.String> getLibraries()
Get libraries

Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)

In makmake, this list also contributes to the debug library list. This API does not represent that. This list is independent of the debug libraries list.

See Also:
getDebugLibraries()

getDebugLibraries

java.util.List<java.lang.String> getDebugLibraries()
Get debug libraries; with case-insensitive membership tests

Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)

Note, makmake treats the debug libraries as an addition to normal libraries. This API doesn't represent that. This is just the list of libraries in DEBUGLIBRARY statements.


getStaticLibraries

java.util.List<java.lang.String> getStaticLibraries()
Get static libraries; with case-insensitive membership tests

Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)


getWin32Libraries

java.util.List<java.lang.String> getWin32Libraries()
Get Win32 libraries; with case-insensitive membership tests

Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)


getASSPLibraries

java.util.List<java.lang.String> getASSPLibraries()
Get ASSP libraries; with case-insensitive membership tests

Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)


getResourceBlocks

java.util.List<IMMPResource> getResourceBlocks()
Get the new-style resource blocks


getUserResources

java.util.List<IPath> getUserResources()
Get the old-style RESOURCE statement.


getSystemResources

java.util.List<IPath> getSystemResources()
Get the old-style SYSTEMRESOURCE statement.


getLanguages

java.util.List<EMMPLanguage> getLanguages()
Get the old-style LANG statement.

NOTE: LANG as it appears inside START RESOURCE is contained in IMMPResource.


getMultiImageSources

java.util.List<IMultiImageSource> getMultiImageSources()

getBitmaps

java.util.List<IMMPBitmap> getBitmaps()
Get bitmaps from the unified set of START BITMAP blocks.

This aliases #getMultiImageSources().

IMMPBitmap is an extension of IMultiImageSource which specifically provides access to BMP files (rather than a set which may allow SVGs). IMMPBitmap instances cannot hold SVGs.


getAifs

java.util.List<IMMPAIFInfo> getAifs()
Get AIFs


getFlags

java.util.Set<EMMPStatement> getFlags()
Get flags set in MMP.

Keys for non-flag statements may not be added without an IAE.


getSingleArgumentSettings

java.util.Map<EMMPStatement,java.lang.String> getSingleArgumentSettings()
Access/modify values of single-argument statements in MMP.

Anything exposed through other API is not in this map (e.g. SOURCEPATH, DEFFILE).


getListArgumentSettings

java.util.Map<EMMPStatement,java.util.List<java.lang.String>> getListArgumentSettings()
Get list values for list argument statements in MMP; with case-insensitive membership tests.

This also allows access to the libraries lists (which are provided as separate API for convenience). Sources and includes must be accessed with their own API since they return lists of IPaths.


getUid2

java.lang.String getUid2()
Get the UID2 value. May be null.


getUid3

java.lang.String getUid3()
Get the UID3 value. May be null.


getOptions

java.util.Map<java.lang.String,java.lang.String> getOptions()
Get the OPTION options for given toolchains.

Returns:
map of toolchain name to option string

getLinkerOptions

java.util.Map<java.lang.String,java.lang.String> getLinkerOptions()
Get the LINKEROPTION options for given toolchains.

Returns:
map of toolchain name to option string

getReplaceOptions

java.util.Map<java.lang.String,java.lang.String> getReplaceOptions()
Get the OPTION_REPLACE options for given toolchains.

Returns:
map of toolchain name to option string

getDocuments

java.util.List<IPath> getDocuments()
Get the paths to documents. Like sources and resources, these are either project-relative or absolute in some way.


getDefFile

IPath getDefFile()
Get the DEFFILE path. May return null if no DEFFILE specified and the target does not require a .def file.

Returns:
project-relative or full path to .def file, or null
See Also:
getSingleArgumentSettings(), EMMPStatement.DEFFILE

isDefFileInFixedDirectory

boolean isDefFileInFixedDirectory()
Tell if the DEFFILE setting refers to a fixed directory, e.g., if it has a path and is not a bare filename.

We maintain this as a distinct datum because IPath does not always cleanly represent the conversion of a string to a path (e.g. it may be canonicalized and/or lack a leading "./" due to workarounds).

Returns:
true: the DEFFILE statement has a directory embedded in it and will not be automatically moved to a platform-specific location
See Also:
getSingleArgumentSettings(), EMMPStatement.DEFFILE

Carbide.c++