Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 333284 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_2.java (-1 / +4 lines)
Lines 20-25 Link Here
20
import org.eclipse.cdt.dsf.mi.service.IMICommandControl;
20
import org.eclipse.cdt.dsf.mi.service.IMICommandControl;
21
import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext;
21
import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext;
22
import org.eclipse.cdt.dsf.mi.service.IMIProcessDMContext;
22
import org.eclipse.cdt.dsf.mi.service.IMIProcessDMContext;
23
import org.eclipse.cdt.dsf.mi.service.INonStopRunControl;
23
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
24
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
24
import org.eclipse.cdt.dsf.mi.service.command.output.MIAddInferiorInfo;
25
import org.eclipse.cdt.dsf.mi.service.command.output.MIAddInferiorInfo;
25
import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo;
26
import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo;
Lines 92-100 Link Here
92
    				           return;
93
    				           return;
93
        					}
94
        					}
94
	        				
95
	        				
96
	        				boolean nonStopMode = getServicesTracker().getService(INonStopRunControl.class) != null;
97
	        				
95
	        				final IMIContainerDMContext containerDmc = createContainerContext(procCtx, groupId);
98
	        				final IMIContainerDMContext containerDmc = createContainerContext(procCtx, groupId);
96
	        				fCommandControl.queueCommand(
99
	        				fCommandControl.queueCommand(
97
	        						fCommandFactory.createMITargetAttach(containerDmc, ((IMIProcessDMContext)procCtx).getProcId()),
100
	        						fCommandFactory.createMITargetAttach(containerDmc, ((IMIProcessDMContext)procCtx).getProcId(), nonStopMode),
98
	        						new DataRequestMonitor<MIInfo>(getExecutor(), rm) {
101
	        						new DataRequestMonitor<MIInfo>(getExecutor(), rm) {
99
	        							@Override
102
	        							@Override
100
	        							protected void handleSuccess() {
103
	        							protected void handleSuccess() {
(-)src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java (-2 / +4 lines)
Lines 50-55 Link Here
50
import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
50
import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
51
import org.eclipse.cdt.dsf.mi.service.IMIProcesses;
51
import org.eclipse.cdt.dsf.mi.service.IMIProcesses;
52
import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
52
import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
53
import org.eclipse.cdt.dsf.mi.service.INonStopRunControl;
53
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
54
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
54
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints;
55
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints;
55
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.MIBreakpointDMContext;
56
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.MIBreakpointDMContext;
Lines 93-99 Link Here
93
 * sync with the service state.
94
 * sync with the service state.
94
 * @since 1.1
95
 * @since 1.1
95
 */
96
 */
96
public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunControl, ICachingService
97
public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunControl, INonStopRunControl, ICachingService
97
{
98
{
98
	@Immutable
99
	@Immutable
99
	private static class ExecutionData implements IExecutionDMData2 {
100
	private static class ExecutionData implements IExecutionDMData2 {
Lines 348-354 Link Here
348
	private void doInitialize(final RequestMonitor rm) {
349
	private void doInitialize(final RequestMonitor rm) {
349
        register(new String[]{ IRunControl.class.getName(), 
350
        register(new String[]{ IRunControl.class.getName(), 
350
        					   IRunControl2.class.getName(),
351
        					   IRunControl2.class.getName(),
351
        					   IMIRunControl.class.getName()}, 
352
        					   IMIRunControl.class.getName(),
353
        					   INonStopRunControl.class.getName() }, 
352
        	     new Hashtable<String,String>());
354
        	     new Hashtable<String,String>());
353
		fConnection = getServicesTracker().getService(ICommandControlService.class);
355
		fConnection = getServicesTracker().getService(ICommandControlService.class);
354
		fCommandFactory = getServicesTracker().getService(IMICommandControl.class).getCommandFactory();
356
		fCommandFactory = getServicesTracker().getService(IMICommandControl.class).getCommandFactory();
(-)src/org/eclipse/cdt/dsf/mi/service/INonStopRunControl.java (+22 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2011 Ericsson and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 * 
8
 * Contributors:
9
 *     Ericsson - initial API and implementation
10
 *******************************************************************************/
11
package org.eclipse.cdt.dsf.mi.service;
12
13
14
/**
15
 * Marker interface to indicate we are using non-stop mode
16
 * 
17
 * @since 4.0
18
 */
19
public interface INonStopRunControl
20
{
21
}
22
(-)src/org/eclipse/cdt/dsf/mi/service/command/CommandFactory.java (+5 lines)
Lines 706-711 Link Here
706
		return new MITargetAttach(ctx, groupId);
706
		return new MITargetAttach(ctx, groupId);
707
	}
707
	}
708
708
709
	/** @since 4.0 */
710
	public ICommand<MIInfo> createMITargetAttach(IMIContainerDMContext ctx, String groupId, boolean asynchronous) {
711
		return new MITargetAttach(ctx, groupId, asynchronous);
712
	}
713
709
	public ICommand<MIInfo> createMITargetDetach(ICommandControlDMContext ctx, String groupId) {
714
	public ICommand<MIInfo> createMITargetDetach(ICommandControlDMContext ctx, String groupId) {
710
		return new MITargetDetach(ctx, groupId);
715
		return new MITargetDetach(ctx, groupId);
711
	}
716
	}
(-)src/org/eclipse/cdt/dsf/mi/service/command/commands/MITargetAttach.java (-1 / +11 lines)
Lines 43-49 Link Here
43
	 * @since 4.0
43
	 * @since 4.0
44
	 */
44
	 */
45
	public MITargetAttach(IMIContainerDMContext ctx, String pid) {
45
	public MITargetAttach(IMIContainerDMContext ctx, String pid) {
46
		super(ctx, "-target-attach", new String[] { pid }); //$NON-NLS-1$
46
		this(ctx, pid, false);
47
	}
48
49
	/**
50
	 * @param ctx indicates which inferior should be used when doing the attach
51
	 * @param id the pid of the process to attach to
52
	 * 
53
	 * @since 4.0
54
	 */
55
	public MITargetAttach(IMIContainerDMContext ctx, String pid, boolean asynchronous) {
56
		super(ctx, "-target-attach", new String[] { pid, asynchronous ? "&" : "" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
47
	}
57
	}
48
	
58
	
49
    @Override
59
    @Override

Return to bug 333284