|
Carbide.c++ | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface IMMPView
The view interface for MMP models.
This view provides generic accessors to high-level data types in order to hide some of the more onerous aspects of the syntax.
Note that APIs returning IPath return partially canonical data. If
a relative path is returned which doesn't start with "+", this is
guaranteed to be project-relative (or relative to
IViewParserConfiguration#getProjectPath()).
Otherwise, absolute paths or paths starting with "+" are either actual filesystem paths or EPOCROOT-relative paths. Use the MMPViewPathHelper class in another plugin for this. Don't rely on getting real information from an "absolute" path. OTOH, note that this API will not change the form of such absolute(-like) paths so they are preserved on read and write.
When a view is committed, the high-level types are synchronized with the MMP DOM, attempting to maintain the invariant that changes to existing MMP statements are made in-place while new statements are added to new statements (outside #if blocks, if necessary).
| Method Summary | |
|---|---|
IMMPAIFInfo |
createMMPAIFInfo()
create an empty, invalid AIF info instance (not set) |
IMMPBitmap |
createMMPBitmap()
create a new, empty, invalid bitmap entry (not added) |
IMMPResource |
createMMPResource()
create a new, empty, invalid MMP resource (not added). |
java.util.List<IMMPAIFInfo> |
getAifs()
access/modify; may be null |
java.util.List<java.lang.String> |
getASSPLibraries()
access/modify ASSP libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms. |
java.util.List<IMMPBitmap> |
getBitmaps()
Access/modify bitmaps from the unified set of START BITMAP blocks. |
IMMPData |
getData()
Get a copy of the current MMP data, to which any changes are ignored. |
java.util.List<java.lang.String> |
getDebugLibraries()
access/modify 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()
Access/modify 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()
Access/modify flags set in MMP. |
java.util.List<EMMPLanguage> |
getLanguages()
access/modify the old-style LANG statement. |
java.util.List<java.lang.String> |
getLibraries()
access/modify libraries; with case-insensitive membership tests Libraries are simple filenames with the .lib extension in all platforms. |
java.util.Map<java.lang.String,java.lang.String> |
getLinkerOptions()
Access/modify the LINKEROPTION options for given toolchains. |
java.util.Map<EMMPStatement,java.util.List<java.lang.String>> |
getListArgumentSettings()
Access/modify list values for list argument statements in MMP; with case-insensitive membership tests. |
IMMPModel |
getMMPModel()
get the owning MMP (convenience for IView#getModel()) |
java.util.List<IMultiImageSource> |
getMultiImageSources()
|
java.util.Map<java.lang.String,java.lang.String> |
getOptions()
Access/modify 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()
Access/modify the OPTION_REPLACE options for given toolchains. |
java.util.List<IMMPResource> |
getResourceBlocks()
access/modify 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()
Access/modify the paths of sources. |
java.util.List<java.lang.String> |
getStaticLibraries()
access/modify 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()
access/modify 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()
access/modify the old-style RESOURCE statement. |
java.util.List<java.lang.String> |
getWin32Libraries()
access/modify 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. |
void |
setAifs(java.util.List<IMMPAIFInfo> aifs)
set the AIF info; may be null |
void |
setBitmaps(java.util.List<IMMPBitmap> bitmaps)
set the bitmap info |
void |
setDefFile(IPath path,
boolean isFixedDirectory)
Set the DEFFILE path. |
void |
setLinkerOptions(java.util.Map<java.lang.String,java.lang.String> options)
Set the LINKEROPTION options for given toolchains. |
void |
setOptions(java.util.Map<java.lang.String,java.lang.String> options)
Set the OPTION options for given toolchains. |
void |
setReplaceOptions(java.util.Map<java.lang.String,java.lang.String> options)
Set the OPTION_REPLACE options for given toolchains. |
void |
setTargetFilePath(IPath path)
Set the combined target path (TARGETPATH + TARGET) |
void |
setUid2(int value)
Set the UID2 value. |
void |
setUid2(java.lang.String uid)
Set the UID2 value. |
void |
setUid3(int value)
Set the UID3 value. |
void |
setUid3(java.lang.String uid)
Set the UID3 value. |
| Methods inherited from interface com.nokia.carbide.cpp.epoc.engine.model.IView |
|---|
addListener, commit, convertModelToProjectPath, convertProjectToModelPath, dispose, forceSynchronized, getMessages, getModel, getProjectPath, getReferencedFiles, getViewConfiguration, markUnsynchronized, merge, needsSynchonize, removeListener, revert, setDebug |
| Methods inherited from interface com.nokia.carbide.cpp.epoc.engine.model.IData |
|---|
getModelPath, getProjectPath, getReferencedFiles |
| Method Detail |
|---|
IMMPModel getMMPModel()
IPath getTargetFilePath()
getTargetFilePath in interface IMMPDatafor individual TARGETPATH, TARGET settingsvoid setTargetFilePath(IPath path)
for individual TARGETPATH, TARGET settingsjava.util.List<IPath> getSources()
This list provides unified access to source files. SOURCEPATH and SOURCE statements are managed behind the scenes.
getSources in interface IMMPDataMMPViewPathHelperIPath[] getRealSourcePaths()
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.
getRealSourcePaths in interface IMMPDatagetEffectiveSourcePaths(),
getSources(),
getUserResources(),
getSystemResources(),
getDocuments()IPath[] getEffectiveSourcePaths()
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.
getEffectiveSourcePaths in interface IMMPDatagetRealSourcePaths(),
getSources(),
getUserResources(),
getSystemResources(),
getDocuments()java.util.List<IPath> getUserIncludes()
getUserIncludes in interface IMMPDatajava.util.List<IPath> getSystemIncludes()
getSystemIncludes in interface IMMPDatajava.util.List<java.lang.String> getLibraries()
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.
getLibraries in interface IMMPDatagetDebugLibraries()java.util.List<java.lang.String> getDebugLibraries()
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.
getDebugLibraries in interface IMMPDatajava.util.List<java.lang.String> getStaticLibraries()
Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)
getStaticLibraries in interface IMMPDatajava.util.List<java.lang.String> getWin32Libraries()
Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)
getWin32Libraries in interface IMMPDatajava.util.List<java.lang.String> getASSPLibraries()
Libraries are simple filenames with the .lib extension in all platforms. (Technically these may also be relative paths.)
getASSPLibraries in interface IMMPDatajava.util.List<IMMPResource> getResourceBlocks()
getResourceBlocks in interface IMMPDataIMMPResource createMMPResource()
IMMPResource.isValid()java.util.List<IPath> getUserResources()
getUserResources in interface IMMPDatajava.util.List<IPath> getSystemResources()
getSystemResources in interface IMMPDatajava.util.List<EMMPLanguage> getLanguages()
NOTE: LANG as it appears inside START RESOURCE is contained in IMMPResource.
getLanguages in interface IMMPDatajava.util.List<IMultiImageSource> getMultiImageSources()
getMultiImageSources in interface IMMPDatajava.util.List<IMMPBitmap> getBitmaps()
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.
getBitmaps in interface IMMPDatavoid setBitmaps(java.util.List<IMMPBitmap> bitmaps)
IMMPBitmap createMMPBitmap()
IMultiImageSource.isValid()java.util.List<IMMPAIFInfo> getAifs()
getAifs in interface IMMPDatavoid setAifs(java.util.List<IMMPAIFInfo> aifs)
IMMPAIFInfo createMMPAIFInfo()
IMMPAIFInfo.isValid()java.util.Set<EMMPStatement> getFlags()
Keys for non-flag statements may not be added without an IAE.
getFlags in interface IMMPDatajava.util.Map<EMMPStatement,java.lang.String> getSingleArgumentSettings()
Anything exposed through other API is not in this map (e.g. SOURCEPATH, DEFFILE).
To delete a statement, either set its value to null or delete the key from the map.
Keys for non-single-argument statements may not be added without an IAE.
getSingleArgumentSettings in interface IMMPDatajava.util.Map<EMMPStatement,java.util.List<java.lang.String>> getListArgumentSettings()
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.
An entry may not exist with a null or empty value; instead, delete the key from the map.
Keys for non-list-argument statements may not be added without an IAE.
getListArgumentSettings in interface IMMPDatajava.lang.String getUid2()
getUid2 in interface IMMPDatavoid setUid2(java.lang.String uid)
void setUid2(int value)
java.lang.String getUid3()
getUid3 in interface IMMPDatavoid setUid3(java.lang.String uid)
void setUid3(int value)
java.util.Map<java.lang.String,java.lang.String> getOptions()
getOptions in interface IMMPDatajava.util.Map<java.lang.String,java.lang.String> getLinkerOptions()
getLinkerOptions in interface IMMPDatajava.util.Map<java.lang.String,java.lang.String> getReplaceOptions()
getReplaceOptions in interface IMMPDatavoid setOptions(java.util.Map<java.lang.String,java.lang.String> options)
options - map of toolchain name to option stringvoid setLinkerOptions(java.util.Map<java.lang.String,java.lang.String> options)
options - map of toolchain name to option stringvoid setReplaceOptions(java.util.Map<java.lang.String,java.lang.String> options)
options - map of toolchain name to option stringjava.util.List<IPath> getDocuments()
getDocuments in interface IMMPDataIPath getDefFile()
getDefFile in interface IMMPDatagetSingleArgumentSettings(),
EMMPStatement.DEFFILEboolean isDefFileInFixedDirectory()
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).
isDefFileInFixedDirectory in interface IMMPDatagetSingleArgumentSettings(),
EMMPStatement.DEFFILE
void setDefFile(IPath path,
boolean isFixedDirectory)
The path, minus any Unicode suffix or target platform (unless it is a fixed directory) is reflected in the single-argument settings (EMMPStatement.DEFFILE).
path - project-relative or full path (or null).isFixedDirectory - true if the directory of the path is fixed and should not be
made platform-dependent (e.g. setting BWINS/fooU.def will be reduced to foo.def if
false, else it will remain ../BWINS/foo.def).getSingleArgumentSettings(),
EMMPStatement.DEFFILEIMMPData getData()
getData in interface IViewnull if such data cannot be created
|
Carbide.c++ | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||