aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java155
1 files changed, 0 insertions, 155 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java b/eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java
deleted file mode 100644
index 238cad32f..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.pdt/src/com/android/ide/eclipse/pdt/internal/DebuggerConnector.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.pdt.internal;
-
-import com.android.ide.eclipse.ddms.IDebuggerConnector;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Implementation of the com.android.ide.ddms.debuggerConnector extension point.
- */
-public class DebuggerConnector extends DevTreeProjectProvider implements IDebuggerConnector {
-
- private final static String ATTR_CONNECT_MAP_PORT = "port"; //$NON-NLS-1$
- private final static String ATTR_CONNECT_MAP_HOSTNAME = "hostname"; //$NON-NLS-1$
-
- @Override
- public boolean isWorkspaceApp(String appName) {
- return getProject() != null;
- }
-
- @Override
- public boolean connectDebugger(String appName, int appPort, int selectedPort) {
- IProject project = getProject();
-
- if (project != null) {
- // get the launch manager
- ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-
- // get the config for the remote launch config.
- ILaunchConfigurationType configType = manager.getLaunchConfigurationType(
- IJavaLaunchConfigurationConstants.ID_REMOTE_JAVA_APPLICATION);
-
- String projectName = project.getName();
-
- // look for an existing launch config
- ILaunchConfiguration config = findConfig(manager, configType, projectName,
- selectedPort);
-
- if (config == null) {
- // Didn't find a matching config, so we make one.
- // It'll be made in the "working copy" object first.
- ILaunchConfigurationWorkingCopy wc = null;
-
- try {
- // make the working copy object with a unique name
- wc = configType.newInstance(null,
- manager.generateUniqueLaunchConfigurationNameFrom(projectName));
-
- // set the project name
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME,
- projectName);
-
- // set the connect map info
- Map<String, String> connectMap = new HashMap<String, String>();
- connectMap.put(ATTR_CONNECT_MAP_PORT, Integer.toString(selectedPort));
- connectMap.put(ATTR_CONNECT_MAP_HOSTNAME, "localhost"); //$NON-NLS-1$
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP, connectMap);
-
- // set the VM connector ID
- wc.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_CONNECTOR,
- IJavaLaunchConfigurationConstants.ID_SOCKET_ATTACH_VM_CONNECTOR);
-
- // save the working copy to get the launch config object which we return.
- config = wc.doSave();
-
- } catch (CoreException e) {
-
- }
-
- }
-
- if (config != null) {
- DebugUITools.launch(config, ILaunchManager.DEBUG_MODE);
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * Looks for and returns an existing {@link ILaunchConfiguration} object for a
- * specified project and connection port.
- * @param manager The {@link ILaunchManager}.
- * @param type The {@link ILaunchConfigurationType}.
- * @param projectName The name of the project
- * @param connectionPort the remote connection port.
- * @return an existing <code>ILaunchConfiguration</code> object matching the project, or
- * <code>null</code>.
- */
- private static ILaunchConfiguration findConfig(ILaunchManager manager,
- ILaunchConfigurationType type,
- String projectName, int connectionPort) {
- try {
- ILaunchConfiguration[] configs = manager.getLaunchConfigurations(type);
-
- // look for one set up for the project with a debug equal to the selected debug port.
- for (ILaunchConfiguration config : configs) {
-
- Map<?, ?> attributes = config.getAttributes();
-
- String name = (String) attributes.get(
- IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME);
-
- if (name == null || name.equals(projectName) == false) {
- continue;
- }
-
- Map<?, ?> connectMap = (Map<?, ?>) attributes.get(
- IJavaLaunchConfigurationConstants.ATTR_CONNECT_MAP);
-
- if (connectMap != null) {
- String portStr = (String) connectMap.get(ATTR_CONNECT_MAP_PORT);
- if (portStr != null) {
- Integer port = Integer.valueOf(portStr);
- if (connectionPort == port) {
- return config;
- }
- }
- }
-
- }
- } catch (CoreException e) {
- }
-
- // didn't find anything that matches. Return null
- return null;
- }
-}