diff options
author | Marc Khouzam | 2010-07-23 18:06:58 +0000 |
---|---|---|
committer | Marc Khouzam | 2010-07-23 18:06:58 +0000 |
commit | abf3f627313516f6993454040bd7d3d157bdca15 (patch) | |
tree | cc4aa31d6432921b49a773ff59ec9694782d7ab2 /debug | |
parent | e01304986c74853c786363ab1431bf918593c601 (diff) | |
download | org.eclipse.cdt-abf3f627313516f6993454040bd7d3d157bdca15.tar.gz org.eclipse.cdt-abf3f627313516f6993454040bd7d3d157bdca15.tar.xz org.eclipse.cdt-abf3f627313516f6993454040bd7d3d157bdca15.zip |
Bug 318214: Unify Basic remote launch with Advanced remote launch
Diffstat (limited to 'debug')
7 files changed, 56 insertions, 2 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/META-INF/MANIFEST.MF b/debug/org.eclipse.cdt.debug.core/META-INF/MANIFEST.MF index 098589df549..e53bab92d7c 100644 --- a/debug/org.eclipse.cdt.debug.core/META-INF/MANIFEST.MF +++ b/debug/org.eclipse.cdt.debug.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.debug.core; singleton:=true -Bundle-Version: 7.0.0.qualifier +Bundle-Version: 7.1.0.qualifier Bundle-Activator: org.eclipse.cdt.debug.core.CDebugCorePlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/debug/org.eclipse.cdt.debug.core/plugin.properties b/debug/org.eclipse.cdt.debug.core/plugin.properties index 590da5ecd10..8c6f5beeebb 100644 --- a/debug/org.eclipse.cdt.debug.core/plugin.properties +++ b/debug/org.eclipse.cdt.debug.core/plugin.properties @@ -20,6 +20,7 @@ providerName=Eclipse CDT ApplicationLaunch.name=C/C++ Application AttachLaunch.name=C/C++ Attach to Application PostMortemLaunch.name=C/C++ Postmortem Debugger +RemoteApplicationLaunch.name=C/C++ Remote Application CDebugger.name=C/C++ Development Tools Core Debugger Extension BreakpointAction.name=Breakpoint Action Extension diff --git a/debug/org.eclipse.cdt.debug.core/plugin.xml b/debug/org.eclipse.cdt.debug.core/plugin.xml index 1e11e0a003f..63c27129be8 100644 --- a/debug/org.eclipse.cdt.debug.core/plugin.xml +++ b/debug/org.eclipse.cdt.debug.core/plugin.xml @@ -28,6 +28,11 @@ name="%PostMortemLaunch.name" public="true"> </launchConfigurationType> + <launchConfigurationType + id="org.eclipse.cdt.launch.remoteApplicationLaunchType" + name="%RemoteApplicationLaunch.name" + public="true"> + </launchConfigurationType> </extension> <extension diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/CDebugCorePlugin.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/CDebugCorePlugin.java index 784705a0918..6c06293348d 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/CDebugCorePlugin.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/CDebugCorePlugin.java @@ -455,6 +455,19 @@ public class CDebugCorePlugin extends Plugin { } } catch (CoreException e) {} + ILaunchConfigurationType remoteCfg = launchMgr.getLaunchConfigurationType(ICDTLaunchConfigurationConstants.ID_LAUNCH_C_REMOTE_APP); + try { + if (remoteCfg.getPreferredDelegate(debugSet) == null) { + ILaunchDelegate[] delegates = remoteCfg.getDelegates(debugSet); + for (ILaunchDelegate delegate : delegates) { + if (ICDTLaunchConfigurationConstants.PREFERRED_DEBUG_REMOTE_LAUNCH_DELEGATE.equals(delegate.getId())) { + remoteCfg.setPreferredDelegate(debugSet, delegate); + break; + } + } + } + } catch (CoreException e) {} + ILaunchConfigurationType attachCfg = launchMgr.getLaunchConfigurationType(ICDTLaunchConfigurationConstants.ID_LAUNCH_C_ATTACH); try { if (attachCfg.getPreferredDelegate(debugSet) == null) { diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDTLaunchConfigurationConstants.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDTLaunchConfigurationConstants.java index 03013750f45..e26776c9b01 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDTLaunchConfigurationConstants.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDTLaunchConfigurationConstants.java @@ -28,6 +28,13 @@ public interface ICDTLaunchConfigurationConstants { public static final String ID_LAUNCH_C_APP = "org.eclipse.cdt.launch.applicationLaunchType"; //$NON-NLS-1$ /** + * This is the remote application launch type id. + * + * @since 7.1 + */ + public static final String ID_LAUNCH_C_REMOTE_APP = "org.eclipse.cdt.launch.remoteApplicationLaunchType"; //$NON-NLS-1$ + + /** * This is the attach launch type id. * * @since 6.0 @@ -48,6 +55,16 @@ public interface ICDTLaunchConfigurationConstants { public static final String PREFERRED_DEBUG_LOCAL_LAUNCH_DELEGATE = "org.eclipse.cdt.dsf.gdb.launch.localCLaunch"; //$NON-NLS-1$ /** + * Specifies the default launch delegate for a Remote Debug session. + * This default is part of the optional plugin org.eclipse.cdt.launch.remote. If that plugin is not installed + * then we won't set a default, which is ok since we only have one other delegate + * (which is org.eclipse.cdt.dsf.gdb.launch.remoteCLaunch). + * @since 7.1 + */ + public static final String PREFERRED_DEBUG_REMOTE_LAUNCH_DELEGATE = "org.eclipse.rse.remotecdt.dsf.debug"; //$NON-NLS-1$ + + + /** * Specifies the default launch delegate for an Attach Debug session * @since 7.0 */ diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index 9e46217d06c..63e9ffdfa51 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -24,6 +24,11 @@ configTypeID="org.eclipse.cdt.launch.postmortemLaunchType" id="org.eclipse.cdt.launch.coreFileLaunchImage"> </launchConfigurationTypeImage> + <launchConfigurationTypeImage + icon="icons/obj16/c_app.gif" + configTypeID="org.eclipse.cdt.launch.remoteApplicationLaunchType" + id="org.eclipse.cdt.launch.remoteRunLaunchImage"> + </launchConfigurationTypeImage> </extension> <extension @@ -50,6 +55,18 @@ class="org.eclipse.cdt.debug.internal.ui.launch.PlaceHolderLaunchConfigurationTabGroup" id="org.eclipse.cdt.launch.postmortemLaunchTabGroup"> </launchConfigurationTabGroup> + <launchConfigurationTabGroup + type="org.eclipse.cdt.launch.remoteApplicationLaunchType" + class="org.eclipse.cdt.debug.internal.ui.launch.PlaceHolderLaunchConfigurationTabGroup" + id="org.eclipse.cdt.launch.remoteApplicationLaunchTabGroup"> + <launchMode mode="debug"/> + </launchConfigurationTabGroup> + <launchConfigurationTabGroup + type="org.eclipse.cdt.launch.remoteApplicationLaunchType" + class="org.eclipse.cdt.debug.internal.ui.launch.PlaceHolderLaunchConfigurationTabGroup" + id="org.eclipse.cdt.launch.remoteApplicationRunLaunchTabGroup"> + <launchMode mode="run"/> + </launchConfigurationTabGroup> </extension> <extension diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/importexecutable/ImportExecutablePageTwo.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/importexecutable/ImportExecutablePageTwo.java index dcac6735cb2..c2187a2c216 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/importexecutable/ImportExecutablePageTwo.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/importexecutable/ImportExecutablePageTwo.java @@ -17,6 +17,7 @@ import org.eclipse.cdt.core.ICDescriptor; import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.CoreModel; import org.eclipse.cdt.core.model.ICProject; +import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.cdt.ui.CElementLabelProvider; @@ -94,7 +95,7 @@ public class ImportExecutablePageTwo extends WizardPage { if (wizard.supportsConfigurationType(type)) { configTypes.add(configTypeName); - if (type.getIdentifier().equals("org.eclipse.cdt.launch.applicationLaunchType")) { //$NON-NLS-1$ + if (type.getIdentifier().equals(ICDTLaunchConfigurationConstants.ID_LAUNCH_C_APP)) { capp = j; } j++; |