Changes to the Carbide API
The following section provides information on changed, deprecated, and removed Carbide APIs.
Changed APIs
The following APIs have been changed.
Since Carbide 1.2.0
Since Carbide 1.2.1
- In order to support multiple documents per model, we must inject a way to determine how IDocument instances are provided for use in creating ITranslationUnits. Any implementations of com.nokia.carbide.cpp.epoc.engine.model.IViewParserConfiguration must now implement the method IModelDocumentProvider getModelDocumentProvider(). This is used to isolate the mechanism for creating IDocument instances, either from disk or from memory.
- Similarly, the method #getTranslationUnit(File) in com.nokia.carbide.cpp.epoc.engine.preprocessor.ITranslationUnitProvider is changed to #getTranslationUnit(File, IModelDocumentProvider).
Since Carbide 1.2.2
- Due to changes in in CDT 4.0, we needed to change com.nokia.carbide.cdt.builder.ICarbideBuildManager and com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo. Methods which modified Carbide.c++ project properties were moved to the new interface com.nokia.carbide.cdt.builder.project.ICarbideProjectModifier.
- ICarbideProjectInfo#getCleanCommand has been changed to ICarbideProjectInfo#getCleanLevel to match the preference change.
- ICarbideBuildConfiguration#getSISBuilderInfo has been changed to ICarbideBuildConfiguration#getSISBuilderInfoList to match the changes to the SIS Builder tab.
- EpocEngineHelper#getProjectRoots now returns a list with three elements (formerly 2), the last of which is the path that contains the build files and the sources (aka the "desired root").
Since Carbide 2.0
- Added com.nokia.carbide.cpp.sdk.core.ISDKManager#checkDevicesXMLSynchronized().
- The EMMPLanguage#UNKNOWNxxx enums have been renamed with their proper names. All the same language
codes are available, so EMMPLangage#forLangCode() or #fromCode() should still work. (We couldn't leave the unknown
enums in, mark them @Deprecated, and add the correct ones, since this would violate uniqueness in the EMMPLanguage#values()
array.)
Since Carbide 2.0.4
- Added com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration#getBuildArgumentsInfoCopy( ).
- Added com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration#setBuildArgumentsInfo(BuildArgumentsInfo bldArgInfo).
Since Carbide 2.1.0
- Added com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder#getBuilderMakefileDir(ICarbideBuildConfiguration config).
- Support was added for Symbian Binary Variation (SBV):
- Added com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext#getBuildVariationName( ).
- Added com.nokia.carbide.cdt.builder.EpocEngineHelper#hasFeatureVariantKeyword( ICarbideProjectInfo projectInfo, IPath relativeMMPPath ).
- Added com.nokia.carbide.cdt.builder.EpocEngineHelper#getMD5HashForBinaryVariant( ICarbideBuildConfiguration config, IPath mmpFullPath).
- Added com.nokia.carbide.cpp.sdk.core.ISymbianSDK#getSBVCatalog( ).
- Added com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext#getBuildVariationName( ).
- Added com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext#isSymbianBinaryVariation( ).
- Added com.nokia.carbide.cpp.sdk.core.ISBVCatalog.
- Added com.nokia.carbide.cpp.sdk.core.ISBVPlatform.
- Added EPOC Engine support for SBV in the following packages:
- com.nokia.carbide.cpp.epoc.engine
- com.nokia.carbide.cpp.epoc.engine.model
- com.nokia.carbide.cpp.epoc.engine.model.sbv.
- Added com.nokia.carbide.cpp.sdk.core.ISymbianSDK#setPreviouslyScanned( boolean ).
- Added com.nokia.carbide.cpp.sdk.core.ISymbianSDK#isPreviouslyScanned( ).
Since Carbide 2.2.0
- Added com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo#extraSBSv2Args( ).
Since Carbide 2.3.0
- ISDKManager was updated to indicate it is not intended to be implemented by clients.
- Added com.nokia.carbide.cpp.sdk.core.ISDKManager#getSBSv2Version(boolean forceScan).
- Added com.nokia.carbide.cpp.sdk.core.ISDKManager#getMinimumSupportedSBSv2Version( ).
Since Carbide 3.0.0
- IConnectionsManager was updated to indicate it is not intended to be implemented by clients.
- Added several new methods to support automated connection/device discovery agents and default connections.
- Deprecated IClientServiceSiteUI and adding new IClientServiceSiteUI2 to support concept of default connection
- getSelectedConnection() and selectConnection() now use connection ids rather than connection objects
- Exposing new selection status to allow reporting when default connection is not supported by client service
Deprecated APIs
The following Carbide APIs have been deprecated and should not be used anymore. Please see the JavaDoc for these classes and methods for more information.
Since Carbide 1.2.0
Since Carbide 1.2.1
Since Carbide 1.2.2
- com.nokia.carbide.cdt.builder.builder.CarbideCommandLauncher.getCmdExeLocation()
- com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder.callAbldBuildForConfiguration(ICarbideBuildConfiguration, IProgressMonitor, IConsole, int, boolean)
- com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder.invokeBldmakeBldFiles(ICarbideBuildConfiguration, CarbideCommandLauncher, IProgressMonitor, IConsole, String[], IPath)
- com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder.projectNeedsMakefileGeneration(IPath, ICarbideBuildConfiguration)
- com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo.getMMPTargetFile()
- com.nokia.carbide.cdt.builder.EpocEngineHelper.getPathToMainExecutable(ICarbideBuildConfiguration)
- com.nokia.carbide.cdt.builder.EpocEngineHelper.getPathToMainExecutable(ICarbideProjectInfo)
- com.nokia.carbide.cdt.builder.EpocEngineHelper.getTargetPathForMainExecutable(ICarbideProjectInfo)
- com.nokia.carbide.cdt.builder.EpocEngineHelper.getHostAndTargetResources(ICarbideProjectInfo)
- com.nokia.carbide.cdt.internal.builder.EnvironmentVarsInfo
- com.nokia.carbide.cdt.internal.builder.SISBuilderInfo
- com.nokia.carbide.cpp.sdk.core.getProjectVariantHRHMacros()
Since Carbide 2.0
Since Carbide 2.0.4
- com.nokia.carbide.cdt.builder.project.IBuildArgumentsInfo
- com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration#getBuildArgumentsInfo( )
Since Carbide 2.1
- com.nokia.carbide.cdt.builder.EpocEngineHelper#getVariantTargetName(IMMPData mmpData, IPath target)
- com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder#generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest)
Removed APIs
The following Carbide APIs have been removed and are no longer available to plug-ins.
Since Carbide 1.2.0
Since Carbide 1.2.1
Since Carbide 1.2.2
- Some methods that were not intended to be made public were removed from the following classes and interfaces:
- com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder
- com.nokia.carbide.cdt.builder.ICarbideBuildManager
- com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo
- com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration
Since Carbide 2.0
Since Carbide 2.1.0