refactoring ISDKManager - removing unnecessary API C3_BUILDER_WORK
authortimkelly
Thu, 05 Aug 2010 14:33:29 -0500
branchC3_BUILDER_WORK
changeset 1776 ad19bba5eef8
parent 1771 bd45dfd2e7ee
child 1778 05c2648e3e25
refactoring ISDKManager - removing unnecessary API
builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java
builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java
core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv1.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv1BuildInfo.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java
core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java
core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv1PlatformFilterComposite.java
core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java
core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java
project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java
project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ImporterBuildTargetsPage.java
project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/sharedui/BuilderSelectionComposite.java
project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java
qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtImporterBuildTargetsPage.java
qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java
--- a/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder.test/src/com/nokia/carbide/cdt/builder/test/SBSv2QueryTests.java	Thu Aug 05 14:33:29 2010 -0500
@@ -24,6 +24,7 @@
 
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildContext;
 import com.nokia.carbide.cpp.internal.api.sdk.sbsv2.SBSv2QueryUtils;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISDKBuildInfo;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID;
@@ -41,7 +42,7 @@
 	@Override
 	protected void setUp() throws Exception {
 		super.setUp();
-		Version sbsVersion = SDKCorePlugin.getSDKManager().getSBSv2Version(true);
+		Version sbsVersion = ((SDKManager)SDKCorePlugin.getSDKManager()).getSBSv2Version(true);
 		if ((sbsVersion.getMajor() == 2 && sbsVersion.getMinor() < 15) ||
 			 sbsVersion.getMajor() < 2){
 			
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/project/ICarbideProjectInfo.java	Thu Aug 05 14:33:29 2010 -0500
@@ -106,14 +106,6 @@
 	public IPath getWorkspaceRelativeBldInfPath();
 	
 	/**
-	 * Get the name of the MMP file that is used to calculate the target output (final artifact) for setting up launch configurations
-	 * @return
-	 * 
-	 * @deprecated no longer used in 1.3.  now returns an empty string.
-	 */
-	public String getMMPTargetFile();
-	
-	/**
 	 * Get the IProject for the Carbide.c++ project.
 	 * @return IProject object
 	 */
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/api/builder/ui/ManageConfigurationsDialog.java	Thu Aug 05 14:33:29 2010 -0500
@@ -60,6 +60,7 @@
 import com.nokia.carbide.cpp.internal.qt.core.QtConfigFilter;
 import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin;
 import com.nokia.carbide.cpp.internal.qt.core.QtSDKFilter;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
@@ -148,7 +149,7 @@
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		if (!sdkMgr.checkDevicesXMLSynchronized()){
+		if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){
 			if (sdkMgr instanceof ISDKManagerInternal){
 				ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr;
 				sdkMgrInternal.fireDevicesXMLChanged();
--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideProjectInfo.java	Thu Aug 05 14:33:29 2010 -0500
@@ -337,11 +337,6 @@
 	public IPath getWorkspaceRelativeBldInfPath(){
 		return new Path(projectTracker.getProject().getName()).append(projectRelativeBldInfPath);
 	}
-
-	public String getMMPTargetFile(){
-		// now deprecated in 1.3
-		return "";
-	}
 	
 	public IProject getProject(){
 		return projectTracker.getProject();
--- a/core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core.test/src/com/nokia/carbide/cpp/sdk/core/test/TestDevicesXMLListener.java	Thu Aug 05 14:33:29 2010 -0500
@@ -16,7 +16,10 @@
 */
 package com.nokia.carbide.cpp.sdk.core.test;
 
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
 import java.net.URL;
 
 import junit.framework.TestCase;
@@ -28,8 +31,11 @@
 import com.nokia.carbide.cpp.internal.api.sdk.ICarbideDevicesXMLChangeListener;
 import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal;
 import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianSDK;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISDKManager;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 
 /**
  * Tests the ICarbideDevicesXMLChangeListener class
@@ -89,17 +95,17 @@
 
 		
 		// Here we just changed the time stamp and not the contents so it should be OK.
-		assertTrue("Devices.xml has changed only timestamp, bad return value", sdkMgr.checkDevicesXMLSynchronized());
+		assertTrue("Devices.xml has changed only timestamp, bad return value", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized());
 		
 		ISymbianSDK sdk = sdkMgr.getSDKList().get(0);
 		((SymbianSDK)sdk).setEPOCROOT("K:\\");
 		sdkMgr.updateSDK(sdk);
-		assertTrue("Devices.xml should still be true with sdk update via APIs", sdkMgr.checkDevicesXMLSynchronized());
+		assertTrue("Devices.xml should still be true with sdk update via APIs", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized());
 		
 		// copy a different devices.xml file over.
 		copyFile (pluginRelativeFile(devicesTestFile), devicesFile);
 		
-		assertFalse("Devices.xml has changed changed content, should reutrn false. ", sdkMgr.checkDevicesXMLSynchronized());
+		assertFalse("Devices.xml has changed changed content, should reutrn false. ", ((SDKManager)sdkMgr).checkDevicesXMLSynchronized());
 		
 		ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr;
 		sdkMgrInternal.fireDevicesXMLChanged();
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv1.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/BuildContextSBSv1.java	Thu Aug 05 14:33:29 2010 -0500
@@ -22,11 +22,13 @@
 
 import com.nokia.carbide.cpp.epoc.engine.preprocessor.IDefine;
 import com.nokia.carbide.cpp.internal.sdk.core.model.SBSv1BuildInfo;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianMissingSDKFactory;
 import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianSDK;
 import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
 import com.nokia.carbide.cpp.sdk.core.IBSFPlatform;
 import com.nokia.carbide.cpp.sdk.core.IRVCTToolChainInfo;
+import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuilderID;
 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
@@ -313,7 +315,8 @@
 	}
 
 	private IPath getRVCTPrefixFilePath() {
-		IRVCTToolChainInfo[] installedRVCTTools = SDKCorePlugin.getSDKManager().getInstalledRVCTTools();
+		ISDKManager sdkManager = SDKCorePlugin.getSDKManager();
+		IRVCTToolChainInfo[] installedRVCTTools = ((SDKManager)sdkManager).getInstalledRVCTTools();
 		// use default in case tools aren't installed
 		String rvctFragment = "rvct2_2"; //$NON-NLS-1$
 		if (installedRVCTTools.length > 0) {
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/sbsv2/SBSv2QueryUtils.java	Thu Aug 05 14:33:29 2010 -0500
@@ -47,6 +47,7 @@
 import org.xml.sax.helpers.DefaultHandler;
 
 import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.cpp.internal.api.utils.core.Logging;
@@ -411,11 +412,12 @@
 	}
 
 	private static boolean checkForMinimumRaptorVersion() throws SBSv2MinimumVersionException{
-		Version sbsVers = SDKCorePlugin.getSDKManager().getSBSv2Version(false);
-		if (sbsVers.compareTo(SDKCorePlugin.getSDKManager().getMinimumSupportedSBSv2Version()) >= 0)
+		SDKManager sdkMgr = (SDKManager)SDKCorePlugin.getSDKManager();
+		Version sbsVers = sdkMgr.getSBSv2Version(false);
+		if (sbsVers.compareTo(sdkMgr.getMinimumSupportedSBSv2Version()) >= 0)
 			return true;
 		else {
-			String message = "Raptor/SBSv2 minimum version supported in Carbide.c++ is " + SDKCorePlugin.getSDKManager().getMinimumSupportedSBSv2Version() + ". Your sbs version is " + sbsVers + ". Please update your sbs installation and 'Rescan' from the Build Configuration Filtering preference page .";
+			String message = "Raptor/SBSv2 minimum version supported in Carbide.c++ is " + sdkMgr.getMinimumSupportedSBSv2Version() + ". Your sbs version is " + sbsVers + ". Please update your sbs installation and 'Rescan' from the Build Configuration Filtering preference page .";
 			throw new SBSv2MinimumVersionException(message);
 		}
 	}
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/AbstractSDKManager.java	Thu Aug 05 14:33:29 2010 -0500
@@ -351,10 +351,18 @@
 	 */
 	abstract protected boolean isEPOCRootFixed();
 
+	/**
+	 * Get whether or not the UI has enabled BSF scanning.
+	 * @return true if BSF scanning is enabled.
+	 */
 	public boolean getBSFScannerEnabled(){
 		return enableBSFScanner;
 	}
 	
+	/**
+	 * Set whether or not build platforms should be added for SDKs that contain .bsf extensions.
+	 * @param enabled - When true, add BSF platforms.
+	 */
 	public void enableBSFScanner(boolean enabled){
 		enableBSFScanner = enabled;
 	}
@@ -367,6 +375,10 @@
 		return platList;
 	}
 
+	/**
+	 * Returns toolchain info for all detected RVCT tools.
+	 * @return Array of toolchain information objects.
+	 */
 	public synchronized IRVCTToolChainInfo[] getInstalledRVCTTools() {
 		// the path wn't change inside one invocation so cache the results
 		if (rvctInfoList == null) {
@@ -508,6 +520,12 @@
 		SDKCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, SDKCorePlugin.getPluginId(), message, t));		
 	}
 
+	/**
+	 * Get the version of SBSv2 installed on the PATH.
+	 * @param boolean forceScan - forceScan even if version already determined.
+	 * @return A Verion object of the installed SBSv2 version. Version will be 0.0.0 if not found.
+	 * @since 2.3
+	 */
 	public Version getSBSv2Version(boolean forceScan) {
 		if (sbsV2Version == null || forceScan){
 			sbsV2Version = new Version(0, 0, 0);
@@ -586,6 +604,11 @@
 		return sbsV2Version;
 	}
 
+	/**
+	 * Retrieve the minimum supported version of SBSv2 for Carbide.c++
+	 * @return Version
+	 * @since 2.3
+	 */
 	public Version getMinimumSupportedSBSv2Version() {
 		return MINIMUM_RAPTOR_VERSION;
 	}
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv1BuildInfo.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SBSv1BuildInfo.java	Thu Aug 05 14:33:29 2010 -0500
@@ -79,7 +79,7 @@
 
 	public List<String> getAvailablePlatforms() {
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		return sdkMgr.getSymbianMacroStore().getSupportedPlatforms(((SymbianSDK)sdk).getOSVersion(), "", getBSFCatalog());
+		return ((SDKManager)sdkMgr).getSymbianMacroStore().getSupportedPlatforms(((SymbianSDK)sdk).getOSVersion(), "", getBSFCatalog());
 	}
 
 	@SuppressWarnings("rawtypes")
@@ -112,7 +112,7 @@
 		}
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		if (sdkMgr.getBSFScannerEnabled()){
+		if (((SDKManager)sdkMgr).getBSFScannerEnabled()){
 			buildTargets.addAll(getBSFPlatformContexts());
 			buildTargets.addAll(getBinaryVariationPlatformContexts()); // Symbian Binary Variation (.var)
 		}
@@ -147,7 +147,7 @@
 			synchronized (cachedPlatformMacros) {
 				IBSFCatalog bsfCatalog = getBSFCatalog();
 				ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-				platformMacros = sdkMgr.getSymbianMacroStore().getPlatformMacros(sdk.getOSVersion(), "", bsfCatalog, platform);
+				platformMacros = ((SDKManager)sdkMgr).getSymbianMacroStore().getPlatformMacros(sdk.getOSVersion(), "", bsfCatalog, platform);
 				cachedPlatformMacros.put(platform.toUpperCase(), platformMacros);
 			}
 		}
@@ -283,9 +283,7 @@
 			for (IBSFPlatform platform : catalog.getPlatforms()) {
 				// only return non-variant style BSF's.  see boog #4533 for details.
 				if (!platform.isVariant()) {
-					// TODO: Hard code build context hack
 					bsfContextList.add(new BuildContextSBSv1(sdk, platform.getName().toUpperCase(), ISymbianBuildContext.DEBUG_TARGET));
-					// TODO: Hard code build context hack
 					bsfContextList.add(new BuildContextSBSv1(sdk, platform.getName().toUpperCase(), ISymbianBuildContext.RELEASE_TARGET));
 				}
 			}
@@ -302,7 +300,7 @@
 		}
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		List<BuildPlat> platFilterList = sdkMgr.getPlatformList();
+		List<BuildPlat> platFilterList = ((SDKManager)sdkMgr).getPlatformList();
 		Iterator<ISymbianBuildContext> li = buildContexts.iterator();
 		while(li.hasNext()){
 			ISymbianBuildContext currContext = li.next();
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java	Thu Aug 05 14:33:29 2010 -0500
@@ -204,6 +204,13 @@
 		return deviceDirPath.append(DEVICES_FILE_NAME).toFile();
 	}
 	
+	/**
+	 * Getting installation path of CSL (GCCE) Arm Toolchain from the registry.
+	 * The method also check that the all required tools exist.
+	 * @return Path to tool binaries under installation path directory, 
+	 *         successful. Otherwise throws an exception.
+	 * @throws SDKEnvInfoFailureException 
+	 */
 	public String getCSLArmToolchainInstallPathAndCheckReqTools() throws SDKEnvInfoFailureException{
 		
 		String installPath = null;
@@ -319,6 +326,14 @@
 		}
 	}
 	
+	/**
+	 * Checks to see if the devices.xml on disk contains the same current information
+	 * as what we have in the sdk list. When not synchronized, when an SDK is add or removed
+	 * outside of Carbide for example, this means an SDK rescan operation is needed.
+	 * @return true if synchronized (no rescan needed), otherwise false (not up to date). Will also return true when devices.xml does not exist
+	 * @see ISDKManager.fireDevicesXMLChanged
+	 * @since 2.0
+	 */ 
 	public boolean checkDevicesXMLSynchronized(){
 		if (devicesXLMLastModified == 0){
 			return true; // no devices.xml file
--- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java	Thu Aug 05 14:33:29 2010 -0500
@@ -17,9 +17,6 @@
 
 import org.osgi.framework.Version;
 
-import com.nokia.carbide.cpp.internal.api.sdk.BuildPlat;
-import com.nokia.carbide.cpp.internal.api.sdk.SymbianMacroStore;
-
 /**
  * Interface to Symbian OS SDK's. Use this interface to get the list of all SDKs.
  * @see ISymianSDK
@@ -86,45 +83,12 @@
 	void updateSDK(ISymbianSDK sdkId);
 	
 	/**
-	 * Retrieves the instance of the Symbian Macro Store
-	 * @return
-	 */
-	SymbianMacroStore getSymbianMacroStore();
-	
-	/**
-	 * Refresh the configuration cache that contains additional information that the devices.xml
-	 * data does not have, such as OS and SDK version.
+	 * Refresh the configuration cache that contains Symbian SDK info such as 'id' and EPOCROOT
 	 *
 	 */
 	public void updateCarbideSDKCache();
 	
 	/**
-	 * Get whether or not the UI has enabled BSF scanning.
-	 * @return true if BSF scanning is enabled.
-	 */
-	public boolean getBSFScannerEnabled();
-	
-	/**
-	 * Set whether or not build platforms should be added for SDKs that contain .bsf extensions.
-	 * @param enabled - When true, add BSF platforms.
-	 */
-	public void enableBSFScanner(boolean enabled);
-	
-	/**
-	 * Sets the list of available build platforms
-	 * @param platList, a list of BuildPlat objects
-	 * @see BuildPlat
-	 */
-	public void setPlatformList(List<BuildPlat> platList);
-	
-	/**
-	 * Get the list of all available built-in platforms
-	 * @return A list of BuildPlat objects
-	 * @see BuildPlat
-	 */
-	public List<BuildPlat> getPlatformList();
-	
-	/**
 	 * Get the absolute path to the devices.xml file. 
 	 * This first scans the windows registry under 'SOFTWARE\Symbian\EPOC SDKs\CommonPath'.
 	 * If  CommonPath is not defined then the system drive spec is used with the folder location at:
@@ -132,23 +96,8 @@
 	 * @return File object. Clients should check File.exists() to make sure the file exists on disk.
 	 */
 	public File getDevicesXMLFile();
-	
-	/**
-	 * Getting installation path of CSL (GCCE) Arm Toolchain from the registry.
-	 * The method also check that the all required tools exist.
-	 * @return Path to tool binaries under installation path directory, 
-	 *         successful. Otherwise throws an exception.
-	 * @throws SDKEnvInfoFailureException 
-	 */
-	public String getCSLArmToolchainInstallPathAndCheckReqTools() throws SDKEnvInfoFailureException;
 		
 	/**
-	 * Returns toolchain info for all detected RVCT tools.
-	 * @return Array of toolchain information objects.
-	 */
-	public IRVCTToolChainInfo[] getInstalledRVCTTools();
-	
-	/**
 	 * Add an ICarbideInstalledSDKChangeListener listener
 	 * @param listener - An instance of ICarbideInstalledSDKChangeListener
 	 */
@@ -160,28 +109,4 @@
 	 */
 	public void removeInstalledSdkChangeListener(ICarbideInstalledSDKChangeListener listener);
 	
-	/**
-	 * Checks to see if the devices.xml on disk contains the same current information
-	 * as what we have in the sdk list. When not synchronized, when an SDK is add or removed
-	 * outside of Carbide for example, this means an SDK rescan operation is needed.
-	 * @return true if synchronized (no rescan needed), otherwise false (not up to date). Will also return true when devices.xml does not exist
-	 * @see ISDKManager.fireDevicesXMLChanged
-	 * @since 2.0
-	 */ 
-	public boolean checkDevicesXMLSynchronized();
-	
-	/**
-	 * Get the version of SBSv2 installed on the PATH.
-	 * @param boolean forceScan - forceScan even if version already determined.
-	 * @return A Verion object of the installed SBSv2 version. Version will be 0.0.0 if not found.
-	 * @since 2.3
-	 */
-	public Version getSBSv2Version(boolean forceScan);
-	
-	/**
-	 * Retrieve the minimum supported version of SBSv2 for Carbide.c++
-	 * @return Version
-	 * @since 2.3
-	 */
-	public Version getMinimumSupportedSBSv2Version();
 }
--- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv1PlatformFilterComposite.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv1PlatformFilterComposite.java	Thu Aug 05 14:33:29 2010 -0500
@@ -29,6 +29,7 @@
 import org.eclipse.swt.widgets.Label;
 
 import com.nokia.carbide.cpp.internal.api.sdk.BuildPlat;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.internal.sdk.ui.Messages;
 import com.nokia.carbide.cpp.internal.sdk.ui.SDKUIPreferenceConstants;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
@@ -96,7 +97,7 @@
 		bldPlatList = getPlatFilterPrefsStore();
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		enableBSFScanner.setSelection(sdkMgr.getBSFScannerEnabled());
+		enableBSFScanner.setSelection(((SDKManager)sdkMgr).getBSFScannerEnabled());
 		
 		for (BuildPlat currBldPlat : bldPlatList) {
 			if (currBldPlat.getPlatName().equals("WINSCW")){ //$NON-NLS-1$
@@ -120,7 +121,7 @@
 		IPreferenceStore prefsStore = SDKUIPlugin.getDefault().getPreferenceStore();
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		sdkMgr.enableBSFScanner(prefsStore.getBoolean(SDKUIPreferenceConstants.ENABLE_BSF_SCANNER));
+		((SDKManager)sdkMgr).enableBSFScanner(prefsStore.getBoolean(SDKUIPreferenceConstants.ENABLE_BSF_SCANNER));
 		
 		buildPlatList.add(new BuildPlat("WINSCW", BuildPlat.EKA2_IDENTIFIER, prefsStore.getBoolean(SDKUIPreferenceConstants.PLAT_EKA2_WINSCW)));
 		buildPlatList.add(new BuildPlat("ARMV5",  BuildPlat.EKA2_IDENTIFIER, prefsStore.getBoolean(SDKUIPreferenceConstants.PLAT_EKA2_ARMV5)));
@@ -129,7 +130,7 @@
 
 		buildPlatList.add(new BuildPlat("GCCE", BuildPlat.EKA2_IDENTIFIER, prefsStore.getBoolean(SDKUIPreferenceConstants.PLAT_EKA2_GCCE)));
 		
-		sdkMgr.setPlatformList(buildPlatList);
+		((SDKManager)sdkMgr).setPlatformList(buildPlatList);
 		
 		return buildPlatList;
 	}
--- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/api/sdk/ui/SBSv2PlatformFilterComposite.java	Thu Aug 05 14:33:29 2010 -0500
@@ -44,6 +44,7 @@
 import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
 import com.nokia.carbide.cpp.internal.api.sdk.sbsv2.SBSv2MinimumVersionException;
 import com.nokia.carbide.cpp.internal.api.sdk.sbsv2.SBSv2QueryUtils;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.internal.sdk.ui.AddSBSv2ProductVariant;
 import com.nokia.carbide.cpp.internal.sdk.ui.Messages;
 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
@@ -233,7 +234,7 @@
 				aliasMap = SBSv2QueryUtils.getCompleteAliasList();
 			} catch (SBSv2MinimumVersionException e) {
 				// Force a scan for version in case system was updated
-				SDKCorePlugin.getSDKManager().getSBSv2Version(true);
+				((SDKManager)SDKCorePlugin.getSDKManager()).getSBSv2Version(true);
 				try {
 					// try, try again...
 					aliasMap = SBSv2QueryUtils.getCompleteAliasList();
--- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/sdk/ui/SDKUIPlugin.java	Thu Aug 05 14:33:29 2010 -0500
@@ -27,6 +27,7 @@
 import com.nokia.carbide.cpp.internal.api.sdk.ICarbideDevicesXMLChangeListener;
 import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal;
 import com.nokia.carbide.cpp.internal.api.sdk.ui.SBSv1PlatformFilterComposite;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.internal.sdk.ui.SDKUIPreferenceConstants;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
@@ -60,7 +61,7 @@
 		super.start(context);
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		sdkMgr.setPlatformList(SBSv1PlatformFilterComposite.getPlatFilterPrefsStore());	
+		((SDKManager)sdkMgr).setPlatformList(SBSv1PlatformFilterComposite.getPlatFilterPrefsStore());	
 	}
 	
 	
--- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/BldInfImportWizard.java	Thu Aug 05 14:33:29 2010 -0500
@@ -38,8 +38,11 @@
 import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
 import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal;
 import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISDKManager;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.carbide.cpp.ui.CarbideUIPlugin;
 import com.nokia.carbide.cpp.ui.ICarbideSharedImages;
 
@@ -62,7 +65,7 @@
 		setDefaultPageImageDescriptor(CarbideUIPlugin.getSharedImages().getImageDescriptor(ICarbideSharedImages.IMG_IMPORT_BLDINF_WIZARD_BANNER));
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		if (!sdkMgr.checkDevicesXMLSynchronized()){
+		if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){
 			if (sdkMgr instanceof ISDKManagerInternal){
 				ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr;
 				sdkMgrInternal.fireDevicesXMLChanged();
--- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ImporterBuildTargetsPage.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/importWizards/ImporterBuildTargetsPage.java	Thu Aug 05 14:33:29 2010 -0500
@@ -27,6 +27,7 @@
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildContext;
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildInfo;
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
@@ -82,7 +83,7 @@
 									// SBSv1 only
 									bsfCatalog = sbsv1BuildInfo.getBSFCatalog();
 								}
-								if (sdkMgr.getBSFScannerEnabled() || (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0)){
+								if (((SDKManager)sdkMgr).getBSFScannerEnabled() || (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0)){
 									// Check and see if any of the configs in the SDK
 									// match any configuration that has been selected before
 									// for this SDK.
@@ -142,7 +143,7 @@
 					ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER);
 					bsfCatalog = sbsv1BuildInfo.getBSFCatalog();
 				} 
-				if (sdkMgr.getBSFScannerEnabled() || (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0)){
+				if (((SDKManager)sdkMgr).getBSFScannerEnabled() || (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0)){
 					// this setting needs to be persisted.
 					settingsNeedUpdate = true;
 					selectedConfigsToSave.add(currContext);
--- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/sharedui/BuilderSelectionComposite.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/sharedui/BuilderSelectionComposite.java	Thu Aug 05 14:33:29 2010 -0500
@@ -29,6 +29,7 @@
 import com.nokia.carbide.cpp.internal.api.sdk.SBSv2Utils;
 import com.nokia.carbide.cpp.internal.project.ui.Messages;
 import com.nokia.carbide.cpp.internal.project.ui.ProjectUIPlugin;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.nokia.carbide.cpp.sdk.ui.shared.BuildTargetsPage;
 
@@ -89,16 +90,16 @@
 				useSBSv2Builder = false;
 			}
 			else if (selection.equals(Messages.getString("NewProjectPage.sbsv2"))) { //$NON-NLS-1$
-				
+				SDKManager sdkMgr = (SDKManager)SDKCorePlugin.getSDKManager();
 				// if SBSv2 is selected, make sure SBS bin directory exists
 				if (SBSv2Utils.getSBSBinDirectory() == null){
 					status = new Status(Status.ERROR, ProjectUIPlugin.PLUGIN_ID, "The Symbian Build System (sbs) cannot be found on the PATH. Carbide needs a valid SBS installation on the PATH to use the SBSv2 builder.");
 				}
 				
 				// check the raptor version
-				else if (SDKCorePlugin.getSDKManager().getSBSv2Version(false).getMajor() == 0){
+				else if (sdkMgr.getSBSv2Version(false).getMajor() == 0){
 					// Try to scan again....
-					if (SDKCorePlugin.getSDKManager().getSBSv2Version(true).getMajor() == 0){
+					if (sdkMgr.getSBSv2Version(true).getMajor() == 0){
 						status = new Status(Status.WARNING, ProjectUIPlugin.PLUGIN_ID, "SBS version cannot be determined, some SBS functionality may not work. Please check your SBS installation.");
 					}
 				}
--- a/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/project/com.nokia.carbide.cpp.project.ui/src/com/nokia/carbide/cpp/internal/project/ui/wizards/NewSymbianOSCppProjectWizard.java	Thu Aug 05 14:33:29 2010 -0500
@@ -26,6 +26,7 @@
 import com.nokia.carbide.cpp.internal.api.sdk.ISDKManagerInternal;
 import com.nokia.carbide.cpp.internal.api.sdk.ui.TemplateSDKsFilter;
 import com.nokia.carbide.cpp.internal.project.ui.Messages;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.project.ui.sharedui.NewProjectPage;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
@@ -52,7 +53,7 @@
 		setWindowTitle(Messages.getString("NewSymbianOSCppProjectWizard.WindowTitle")); //$NON-NLS-1$
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		if (!sdkMgr.checkDevicesXMLSynchronized()){
+		if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){
 			if (sdkMgr instanceof ISDKManagerInternal){
 				ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr;
 				sdkMgrInternal.fireDevicesXMLChanged();
--- a/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtImporterBuildTargetsPage.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtImporterBuildTargetsPage.java	Thu Aug 05 14:33:29 2010 -0500
@@ -23,7 +23,7 @@
 
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildContext;
 import com.nokia.carbide.cpp.internal.api.sdk.ISBSv1BuildInfo;
-import com.nokia.carbide.cpp.internal.api.sdk.ISBSv2BuildInfo;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.sdk.core.IBSFCatalog;
 import com.nokia.carbide.cpp.sdk.core.ISDKManager;
 import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
@@ -70,7 +70,7 @@
 					ISBSv1BuildInfo sbsv1BuildInfo = (ISBSv1BuildInfo)sdk.getBuildInfo(ISymbianBuilderID.SBSV1_BUILDER);
 					bsfCatalog = sbsv1BuildInfo.getBSFCatalog();
 				} 
-				if (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0 || sdkMgr.getBSFScannerEnabled()){
+				if (bsfCatalog != null && bsfCatalog.getVirtualVariantPlatforms().length > 0 || ((SDKManager)sdkMgr).getBSFScannerEnabled()){
 					// this setting needs to be persisted.
 					settingsNeedUpdate = true;
 					selectedConfigsToSave.add(currContext);
--- a/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java	Thu Aug 05 13:14:00 2010 -0500
+++ b/qt/com.nokia.carbide.cpp.qt.ui/src/com/nokia/carbide/cpp/internal/qt/ui/wizard/QtProFileImportWizard.java	Thu Aug 05 14:33:29 2010 -0500
@@ -42,8 +42,12 @@
 import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin;
 import com.nokia.carbide.cpp.internal.qt.core.QtSDKUtils;
 import com.nokia.carbide.cpp.internal.qt.ui.QtUIPlugin;
+import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager;
 import com.nokia.carbide.cpp.project.core.ProjectCorePlugin;
-import com.nokia.carbide.cpp.sdk.core.*;
+import com.nokia.carbide.cpp.sdk.core.ISDKManager;
+import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
+import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
+import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
 import com.trolltech.qtcppproject.QtProject;
 import com.trolltech.qtcppproject.qmake.QMakeRunner;
 
@@ -63,7 +67,7 @@
 		setNeedsProgressMonitor(true);
 		
 		ISDKManager sdkMgr = SDKCorePlugin.getSDKManager();
-		if (!sdkMgr.checkDevicesXMLSynchronized()){
+		if (!((SDKManager)sdkMgr).checkDevicesXMLSynchronized()){
 			if (sdkMgr instanceof ISDKManagerInternal){
 				ISDKManagerInternal sdkMgrInternal = (ISDKManagerInternal)sdkMgr;
 				sdkMgrInternal.fireDevicesXMLChanged();