debuggercdi/com.nokia.cdt.debug.cw.symbian/src/com/nokia/cdt/debug/cw/symbian/SettingsData.java
changeset 1382 4ddf9fb521b2
parent 1208 54c7e69fdb2c
child 1384 10b788ab16fe
equal deleted inserted replaced
1381:d1b0b4e203e9 1382:4ddf9fb521b2
    78 	
    78 	
    79 	public static final String PREFIX = "com.nokia.cdt.debug.cw.symbian.SettingsData"; //$NON-NLS-1$
    79 	public static final String PREFIX = "com.nokia.cdt.debug.cw.symbian.SettingsData"; //$NON-NLS-1$
    80 	public static final String LaunchConfig_Emulator = PREFIX + ".LaunchConfig_Emulator"; //$NON-NLS-1$
    80 	public static final String LaunchConfig_Emulator = PREFIX + ".LaunchConfig_Emulator"; //$NON-NLS-1$
    81 	public static final String LaunchConfig_AppTRK = PREFIX + ".LaunchConfig_AppTRK"; //$NON-NLS-1$
    81 	public static final String LaunchConfig_AppTRK = PREFIX + ".LaunchConfig_AppTRK"; //$NON-NLS-1$
    82 	public static final String LaunchConfig_SysTRK = PREFIX + ".LaunchConfig_SysTRK"; //$NON-NLS-1$
    82 	public static final String LaunchConfig_SysTRK = PREFIX + ".LaunchConfig_SysTRK"; //$NON-NLS-1$
    83 	public static final String LaunchConfig_CrashDebugger = PREFIX + ".LaunchConfig_CrashDebugger"; //$NON-NLS-1$
       
    84 	public static final String LaunchConfig_Trace32 = PREFIX + ".LaunchConfig_Trace32"; //$NON-NLS-1$
    83 	public static final String LaunchConfig_Trace32 = PREFIX + ".LaunchConfig_Trace32"; //$NON-NLS-1$
    85 
    84 
    86 	public static final String ATTR_originalName = "originalName"; //$NON-NLS-1$
    85 	public static final String ATTR_originalName = "originalName"; //$NON-NLS-1$
    87 
    86 
    88 	// Executable targeting
    87 	// Executable targeting
   618 			    settingsGroup.equals(LaunchConfig_SysTRK) ||
   617 			    settingsGroup.equals(LaunchConfig_SysTRK) ||
   619 			    settingsGroup.equals(LaunchConfig_Emulator))
   618 			    settingsGroup.equals(LaunchConfig_Emulator))
   620 		{
   619 		{
   621 			configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false );
   620 			configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false );
   622 		}
   621 		}
   623 		else // others like T32 and crash debugger.
   622 		else // others like T32
   624 			configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true );	
   623 			configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true );	
   625 	}
   624 	}
   626 
   625 
   627 	// a convenience function.
   626 	// a convenience function.
   628 	public static void setInternalPreferences(ILaunchConfiguration originalConfig, String settingsGroup)
   627 	public static void setInternalPreferences(ILaunchConfiguration originalConfig, String settingsGroup)
   729 		configuration.setAttribute(PreferenceConstants.J_PN_ParseRomLogFile, false);
   728 		configuration.setAttribute(PreferenceConstants.J_PN_ParseRomLogFile, false);
   730 		configuration.setAttribute(PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$
   729 		configuration.setAttribute(PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$
   731 		configuration.setAttribute(PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$
   730 		configuration.setAttribute(PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$
   732 		configuration.setAttribute(PreferenceConstants.J_PN_LogUnresolved, false);
   731 		configuration.setAttribute(PreferenceConstants.J_PN_LogUnresolved, false);
   733 
   732 
   734 		// For all but crash debugger, use our "SymbianDebugger".
   733 		configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID);
   735 		// Crash debugger will set its own debugger (see CrashDebugConfigurationTabGroup.setDefaults()).
   734 
   736 		// 
   735 		setExecutablesTab(configuration, settingsGroup, project);
   737 		if (!settingsGroup.equals(LaunchConfig_CrashDebugger)) {
       
   738 			configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID);
       
   739 			// Executables tab is not shown for crash debugger launch configuration.
       
   740 			setExecutablesTab(configuration, settingsGroup, project);
       
   741 		}
       
   742 		
   736 		
   743 		setInternalPreferences(configuration, settingsGroup);
   737 		setInternalPreferences(configuration, settingsGroup);
   744 
   738 
   745 		if (settingsGroup.equals(LaunchConfig_Emulator)) {
   739 		if (settingsGroup.equals(LaunchConfig_Emulator)) {
   746 			setEmulationMainTab(configuration, project);
   740 			setEmulationMainTab(configuration, project);
   747 			setEmulationDebuggerTab(configuration, project);
   741 			setEmulationDebuggerTab(configuration, project);
   748 			setX86ExceptionsTab(configuration, project);			
   742 			setX86ExceptionsTab(configuration, project);			
   749 		}
   743 		}
   750 		
   744 		
   751 		if (settingsGroup.equals(LaunchConfig_AppTRK) || 
   745 		if (settingsGroup.equals(LaunchConfig_AppTRK) || 
   752 			    settingsGroup.equals(LaunchConfig_SysTRK) ||
   746 			    settingsGroup.equals(LaunchConfig_SysTRK))
   753 				settingsGroup.equals(LaunchConfig_CrashDebugger))
       
   754 		{
   747 		{
   755 			setSerialConnTab(configuration, project);
   748 			setSerialConnTab(configuration, project);
   756 		}
   749 		}
   757 
   750 
   758 		if (settingsGroup.equals(LaunchConfig_AppTRK)) {
   751 		if (settingsGroup.equals(LaunchConfig_AppTRK)) {
   791 					connTI, 
   784 					connTI, 
   792 					"Symbian MetroTRK Protocol", //$NON-NLS-1$
   785 					"Symbian MetroTRK Protocol", //$NON-NLS-1$
   793 					""); // Protocol plugin name //$NON-NLS-1$
   786 					""); // Protocol plugin name //$NON-NLS-1$
   794 		}
   787 		}
   795 
   788 
   796 		if (settingsGroup.equals(LaunchConfig_CrashDebugger)) {
       
   797 			// Crash debugger: specify crash debugger protocol plugin.
       
   798 			//
       
   799 			// For crash debugger, we don't need a project. But don't set the name to "" as it would 
       
   800 			// cause crasher in CDT if we tries to create CDebugTarget without a project.
       
   801 			configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROJECT_NAME, "Any"); //$NON-NLS-1$
       
   802 			
       
   803 			ConnectionTypeInfo connTI = new ConnectionTypeInfo(
       
   804 					"Carbide CrashDebugger", // Internal ID //$NON-NLS-1$
       
   805 					"SymbianCrashDebuggerProtocol", // Display name. see SymbianCrashDebuggerPrefix.h on DE side. //$NON-NLS-1$
       
   806 					spn_SerialComm); // Pref panel name
       
   807 
       
   808 			DebuggerCommonData.setLaunchConfigConnSettings(
       
   809 					configuration,
       
   810 					connTI, 
       
   811 					"SymbianCrashDebuggerProtocol", //$NON-NLS-1$
       
   812 					""); // see SymbianCrashDebuggerPrefix.h on DE side //$NON-NLS-1$
       
   813 		}
       
   814 		
       
   815 		if (settingsGroup.equals(LaunchConfig_Trace32)) {
   789 		if (settingsGroup.equals(LaunchConfig_Trace32)) {
   816 			String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$
   790 			String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$
   817 			
   791 			
   818 			//set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide.
   792 			//set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide.
   819 			String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory();
   793 			String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory();