From 2e92a331691dd304d6689c83d27bca45e7a2d6d2 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Mon, 18 May 2015 23:35:01 -0400 Subject: [PATCH] Adjust to the final launch config API. Change-Id: Ia539832e9e8c4d95cdac9295aae7f56552f10a2b --- .../ArduinoLaunchConfigurationProvider.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/launch/ArduinoLaunchConfigurationProvider.java b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/launch/ArduinoLaunchConfigurationProvider.java index a8c3393405d..cf14117a846 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/launch/ArduinoLaunchConfigurationProvider.java +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/launch/ArduinoLaunchConfigurationProvider.java @@ -14,20 +14,19 @@ import org.eclipse.cdt.arduino.core.internal.ArduinoProjectNature; import org.eclipse.cdt.arduino.core.internal.remote.ArduinoRemoteConnection; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfigurationType; import org.eclipse.launchbar.core.ILaunchDescriptor; -import org.eclipse.launchbar.core.ProjectPerTypeLaunchConfigProvider; +import org.eclipse.launchbar.core.ProjectPerTargetLaunchConfigProvider; import org.eclipse.remote.core.IRemoteConnection; -public class ArduinoLaunchConfigurationProvider extends ProjectPerTypeLaunchConfigProvider { +public class ArduinoLaunchConfigurationProvider extends ProjectPerTargetLaunchConfigProvider { @Override - protected String getLaunchConfigurationTypeId() { - return ArduinoLaunchConfigurationDelegate.TYPE_ID; - } - - @Override - protected String getRemoteConnectionTypeId() { - return ArduinoRemoteConnection.TYPE_ID; + public ILaunchConfigurationType getLaunchConfigurationType(ILaunchDescriptor descriptor, IRemoteConnection target) + throws CoreException { + return DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType( + ArduinoLaunchConfigurationDelegate.TYPE_ID); } @Override @@ -36,6 +35,10 @@ public class ArduinoLaunchConfigurationProvider extends ProjectPerTypeLaunchConf return false; } + if (!target.getConnectionType().getId().equals(ArduinoRemoteConnection.TYPE_ID)) { + return false; + } + // must have the arduino nature IProject project = descriptor.getAdapter(IProject.class); return ArduinoProjectNature.hasNature(project);