mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
[247345] Name changes:
- IMIExecutionGroupDMContext to IMIContainerDMContext - MIExecutionGroupDMC to MIContainerDMC - createExecutionGroupContext to createContainerContext - ExecutionGroupStartedDMEvent to ContainerStartedDMEvent - ExecutionGroupExitedDMEvent to ContainerExitedDMEvent - makeExecutionGroupDMCs to makeContainerDMCs - bunch of local variables groupDmc to containerDmc
This commit is contained in:
parent
0503f0832a
commit
88969aa247
9 changed files with 97 additions and 97 deletions
|
@ -30,7 +30,7 @@ import org.eclipse.dd.dsf.debug.service.command.ICommandControlService.ICommandC
|
||||||
import org.eclipse.dd.dsf.service.DsfSession;
|
import org.eclipse.dd.dsf.service.DsfSession;
|
||||||
import org.eclipse.dd.gdb.internal.GdbPlugin;
|
import org.eclipse.dd.gdb.internal.GdbPlugin;
|
||||||
import org.eclipse.dd.gdb.internal.provisional.service.command.IGDBControl;
|
import org.eclipse.dd.gdb.internal.provisional.service.command.IGDBControl;
|
||||||
import org.eclipse.dd.mi.service.IMIExecutionGroupDMContext;
|
import org.eclipse.dd.mi.service.IMIContainerDMContext;
|
||||||
import org.eclipse.dd.mi.service.IMIProcessDMContext;
|
import org.eclipse.dd.mi.service.IMIProcessDMContext;
|
||||||
import org.eclipse.dd.mi.service.IMIProcesses;
|
import org.eclipse.dd.mi.service.IMIProcesses;
|
||||||
import org.eclipse.dd.mi.service.MIProcesses;
|
import org.eclipse.dd.mi.service.MIProcesses;
|
||||||
|
@ -186,15 +186,15 @@ public class GDBProcesses extends MIProcesses {
|
||||||
inferiorProcess != null &&
|
inferiorProcess != null &&
|
||||||
inferiorProcess.getState() != MIInferiorProcess.State.TERMINATED) {
|
inferiorProcess.getState() != MIInferiorProcess.State.TERMINATED) {
|
||||||
|
|
||||||
final IMIExecutionGroupDMContext groupDmc = DMContexts.getAncestorOfType(dmc, IMIExecutionGroupDMContext.class);
|
final IMIContainerDMContext containerDmc = DMContexts.getAncestorOfType(dmc, IMIContainerDMContext.class);
|
||||||
if (groupDmc == null) {
|
if (containerDmc == null) {
|
||||||
// This service version only handles a single process to debug, therefore, we can simply
|
// This service version only handles a single process to debug, therefore, we can simply
|
||||||
// create the context describing this process ourselves.
|
// create the context describing this process ourselves.
|
||||||
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
||||||
IMIExecutionGroupDMContext newGroupDmc = createExecutionGroupContext(procDmc, groupId);
|
IMIContainerDMContext newContainerDmc = createContainerContext(procDmc, groupId);
|
||||||
rm.setData(new IContainerDMContext[] {newGroupDmc});
|
rm.setData(new IContainerDMContext[] {newContainerDmc});
|
||||||
rm.done();
|
rm.done();
|
||||||
} else {
|
} else {
|
||||||
// List of threads
|
// List of threads
|
||||||
|
|
|
@ -40,9 +40,8 @@ import org.eclipse.dd.dsf.service.DsfServiceEventHandler;
|
||||||
import org.eclipse.dd.dsf.service.DsfSession;
|
import org.eclipse.dd.dsf.service.DsfSession;
|
||||||
import org.eclipse.dd.gdb.internal.GdbPlugin;
|
import org.eclipse.dd.gdb.internal.GdbPlugin;
|
||||||
import org.eclipse.dd.gdb.internal.provisional.service.command.IGDBControl;
|
import org.eclipse.dd.gdb.internal.provisional.service.command.IGDBControl;
|
||||||
import org.eclipse.dd.mi.internal.MIPlugin;
|
import org.eclipse.dd.mi.service.IMIContainerDMContext;
|
||||||
import org.eclipse.dd.mi.service.IMIExecutionDMContext;
|
import org.eclipse.dd.mi.service.IMIExecutionDMContext;
|
||||||
import org.eclipse.dd.mi.service.IMIExecutionGroupDMContext;
|
|
||||||
import org.eclipse.dd.mi.service.IMIProcessDMContext;
|
import org.eclipse.dd.mi.service.IMIProcessDMContext;
|
||||||
import org.eclipse.dd.mi.service.IMIProcesses;
|
import org.eclipse.dd.mi.service.IMIProcesses;
|
||||||
import org.eclipse.dd.mi.service.command.commands.MIListThreadGroups;
|
import org.eclipse.dd.mi.service.command.commands.MIListThreadGroups;
|
||||||
|
@ -74,7 +73,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
// MIControlDMContext
|
// MIControlDMContext
|
||||||
// |
|
// |
|
||||||
// MIProcessDMC (IProcess)
|
// MIProcessDMC (IProcess)
|
||||||
// MIExecutionGroupDMC __/ |
|
// MIContainerDMC _____/ |
|
||||||
// (IContainer) |
|
// (IContainer) |
|
||||||
// | MIThreadDMC (IThread)
|
// | MIThreadDMC (IThread)
|
||||||
// MIExecutionDMC _____/
|
// MIExecutionDMC _____/
|
||||||
|
@ -146,8 +145,8 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
* Context representing a thread group of GDB/MI.
|
* Context representing a thread group of GDB/MI.
|
||||||
*/
|
*/
|
||||||
@Immutable
|
@Immutable
|
||||||
private static class MIExecutionGroupDMC extends AbstractDMContext
|
private static class MIContainerDMC extends AbstractDMContext
|
||||||
implements IMIExecutionGroupDMContext
|
implements IMIContainerDMContext
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* String ID that is used to identify the thread group in the GDB/MI protocol.
|
* String ID that is used to identify the thread group in the GDB/MI protocol.
|
||||||
|
@ -156,14 +155,14 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the context. It should not be called directly by clients.
|
* Constructor for the context. It should not be called directly by clients.
|
||||||
* Instead clients should call {@link IMIProcesses#createExecutionGroupContext
|
* Instead clients should call {@link IMIProcesses#createContainerContext
|
||||||
* to create instances of this context based on the group name.
|
* to create instances of this context based on the group name.
|
||||||
*
|
*
|
||||||
* @param sessionId Session that this context belongs to.
|
* @param sessionId Session that this context belongs to.
|
||||||
* @param processDmc The process context that is the parent of this context.
|
* @param processDmc The process context that is the parent of this context.
|
||||||
* @param groupId GDB/MI thread group identifier.
|
* @param groupId GDB/MI thread group identifier.
|
||||||
*/
|
*/
|
||||||
public MIExecutionGroupDMC(String sessionId, IProcessDMContext processDmc, String groupId) {
|
public MIContainerDMC(String sessionId, IProcessDMContext processDmc, String groupId) {
|
||||||
super(sessionId, processDmc == null ? new IDMContext[0] : new IDMContext[] { processDmc });
|
super(sessionId, processDmc == null ? new IDMContext[0] : new IDMContext[] { processDmc });
|
||||||
fId = groupId;
|
fId = groupId;
|
||||||
}
|
}
|
||||||
|
@ -179,7 +178,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
return super.baseEquals(obj) &&
|
return super.baseEquals(obj) &&
|
||||||
(((MIExecutionGroupDMC)obj).fId == null ? fId == null : ((MIExecutionGroupDMC)obj).fId.equals(fId));
|
(((MIContainerDMC)obj).fId == null ? fId == null : ((MIContainerDMC)obj).fId.equals(fId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -271,7 +270,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
public int hashCode() { return super.baseHashCode() ^ (fId == null ? 0 : fId.hashCode()); }
|
public int hashCode() { return super.baseHashCode() ^ (fId == null ? 0 : fId.hashCode()); }
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* The data of a corresponding thread or process.
|
* The data of a corresponding thread or process.
|
||||||
*/
|
*/
|
||||||
@Immutable
|
@Immutable
|
||||||
|
@ -292,25 +291,25 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event indicating that an execution group (debugged process) has started. This event
|
* Event indicating that an container (debugged process) has started. This event
|
||||||
* implements the {@link IStartedMDEvent} from the IRunControl service.
|
* implements the {@link IStartedMDEvent} from the IRunControl service.
|
||||||
*/
|
*/
|
||||||
public static class ExecutionGroupStartedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
public static class ContainerStartedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
||||||
implements IStartedDMEvent
|
implements IStartedDMEvent
|
||||||
{
|
{
|
||||||
public ExecutionGroupStartedDMEvent(IMIExecutionGroupDMContext context) {
|
public ContainerStartedDMEvent(IMIContainerDMContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event indicating that an execution group is no longer being debugged. This event
|
* Event indicating that an container is no longer being debugged. This event
|
||||||
* implements the {@link IExitedMDEvent} from the IRunControl service.
|
* implements the {@link IExitedMDEvent} from the IRunControl service.
|
||||||
*/
|
*/
|
||||||
public static class ExecutionGroupExitedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
public static class ContainerExitedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
||||||
implements IExitedDMEvent
|
implements IExitedDMEvent
|
||||||
{
|
{
|
||||||
public ExecutionGroupExitedDMEvent(IContainerDMContext context) {
|
public ContainerExitedDMEvent(IContainerDMContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -412,9 +411,9 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
return new MIExecutionDMC(getSession().getId(), containerDmc, threadDmc, threadId);
|
return new MIExecutionDMC(getSession().getId(), containerDmc, threadDmc, threadId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMIExecutionGroupDMContext createExecutionGroupContext(IProcessDMContext processDmc,
|
public IMIContainerDMContext createContainerContext(IProcessDMContext processDmc,
|
||||||
String groupId) {
|
String groupId) {
|
||||||
return new MIExecutionGroupDMC(getSession().getId(), processDmc, groupId);
|
return new MIContainerDMC(getSession().getId(), processDmc, groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -473,14 +472,14 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
public void getDebuggingContext(IThreadDMContext dmc, DataRequestMonitor<IDMContext> rm) {
|
public void getDebuggingContext(IThreadDMContext dmc, DataRequestMonitor<IDMContext> rm) {
|
||||||
if (dmc instanceof MIProcessDMC) {
|
if (dmc instanceof MIProcessDMC) {
|
||||||
MIProcessDMC procDmc = (MIProcessDMC)dmc;
|
MIProcessDMC procDmc = (MIProcessDMC)dmc;
|
||||||
rm.setData(createExecutionGroupContext(procDmc, procDmc.getProcId()));
|
rm.setData(createContainerContext(procDmc, procDmc.getProcId()));
|
||||||
} else if (dmc instanceof MIThreadDMC) {
|
} else if (dmc instanceof MIThreadDMC) {
|
||||||
MIThreadDMC threadDmc = (MIThreadDMC)dmc;
|
MIThreadDMC threadDmc = (MIThreadDMC)dmc;
|
||||||
IMIProcessDMContext procDmc = DMContexts.getAncestorOfType(dmc, IMIProcessDMContext.class);
|
IMIProcessDMContext procDmc = DMContexts.getAncestorOfType(dmc, IMIProcessDMContext.class);
|
||||||
IMIExecutionGroupDMContext groupDmc = createExecutionGroupContext(procDmc, procDmc.getProcId());
|
IMIContainerDMContext containerDmc = createContainerContext(procDmc, procDmc.getProcId());
|
||||||
rm.setData(createExecutionContext(groupDmc, threadDmc, threadDmc.getId()));
|
rm.setData(createExecutionContext(containerDmc, threadDmc, threadDmc.getId()));
|
||||||
} else {
|
} else {
|
||||||
rm.setStatus(new Status(IStatus.ERROR, MIPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid thread context.", null)); //$NON-NLS-1$
|
rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid thread context.", null)); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
rm.done();
|
rm.done();
|
||||||
|
@ -501,9 +500,9 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
fCommandControl.setConnected(true);
|
fCommandControl.setConnected(true);
|
||||||
|
|
||||||
IMIExecutionGroupDMContext groupDmc = createExecutionGroupContext(procCtx,
|
IMIContainerDMContext containerDmc = createContainerContext(procCtx,
|
||||||
((IMIProcessDMContext)procCtx).getProcId());
|
((IMIProcessDMContext)procCtx).getProcId());
|
||||||
rm.setData(groupDmc);
|
rm.setData(containerDmc);
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -563,14 +562,14 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
// inferiorProcess.getState() != MIInferiorProcess.State.TERMINATED) {
|
// inferiorProcess.getState() != MIInferiorProcess.State.TERMINATED) {
|
||||||
|
|
||||||
final ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
final ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
||||||
final IMIExecutionGroupDMContext groupDmc = DMContexts.getAncestorOfType(dmc, IMIExecutionGroupDMContext.class);
|
final IMIContainerDMContext containerDmc = DMContexts.getAncestorOfType(dmc, IMIContainerDMContext.class);
|
||||||
if (groupDmc != null) {
|
if (containerDmc != null) {
|
||||||
fThreadCommandCache.execute(
|
fThreadCommandCache.execute(
|
||||||
new MIListThreadGroups(controlDmc, groupDmc.getGroupId()),
|
new MIListThreadGroups(controlDmc, containerDmc.getGroupId()),
|
||||||
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), rm) {
|
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
rm.setData(makeExecutionDMCs(groupDmc, getData().getThreadInfo().getThreadList()));
|
rm.setData(makeExecutionDMCs(containerDmc, getData().getThreadInfo().getThreadList()));
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -580,7 +579,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), rm) {
|
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
rm.setData(makeExecutionGroupDMCs(controlDmc, getData().getGroupList()));
|
rm.setData(makeContainerDMCs(controlDmc, getData().getGroupList()));
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -614,16 +613,16 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private IMIExecutionGroupDMContext[] makeExecutionGroupDMCs(ICommandControlDMContext controlDmc, IThreadGroupInfo[] groups) {
|
private IMIContainerDMContext[] makeContainerDMCs(ICommandControlDMContext controlDmc, IThreadGroupInfo[] groups) {
|
||||||
IProcessDMContext[] procDmcs = makeProcessDMCs(controlDmc, groups);
|
IProcessDMContext[] procDmcs = makeProcessDMCs(controlDmc, groups);
|
||||||
|
|
||||||
IMIExecutionGroupDMContext[] groupDmcs = new IMIExecutionGroupDMContext[groups.length];
|
IMIContainerDMContext[] containerDmcs = new IMIContainerDMContext[groups.length];
|
||||||
for (int i = 0; i < procDmcs.length; i++) {
|
for (int i = 0; i < procDmcs.length; i++) {
|
||||||
String groupId = groups[i].getGroupId();
|
String groupId = groups[i].getGroupId();
|
||||||
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
||||||
groupDmcs[i] = createExecutionGroupContext(procDmc, groupId);
|
containerDmcs[i] = createContainerContext(procDmc, groupId);
|
||||||
}
|
}
|
||||||
return groupDmcs;
|
return containerDmcs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getRunningProcesses(IDMContext dmc, final DataRequestMonitor<IProcessDMContext[]> rm) {
|
public void getRunningProcesses(IDMContext dmc, final DataRequestMonitor<IProcessDMContext[]> rm) {
|
||||||
|
@ -684,15 +683,15 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
@DsfServiceEventHandler
|
@DsfServiceEventHandler
|
||||||
public void eventDispatched(final MIThreadGroupCreatedEvent e) {
|
public void eventDispatched(final MIThreadGroupCreatedEvent e) {
|
||||||
IProcessDMContext procDmc = e.getDMContext();
|
IProcessDMContext procDmc = e.getDMContext();
|
||||||
IMIExecutionGroupDMContext groupDmc = e.getGroupId() != null ? createExecutionGroupContext(procDmc, e.getGroupId()) : null;
|
IMIContainerDMContext containerDmc = e.getGroupId() != null ? createContainerContext(procDmc, e.getGroupId()) : null;
|
||||||
getSession().dispatchEvent(new ExecutionGroupStartedDMEvent(groupDmc), getProperties());
|
getSession().dispatchEvent(new ContainerStartedDMEvent(containerDmc), getProperties());
|
||||||
}
|
}
|
||||||
|
|
||||||
@DsfServiceEventHandler
|
@DsfServiceEventHandler
|
||||||
public void eventDispatched(final MIThreadGroupExitedEvent e) {
|
public void eventDispatched(final MIThreadGroupExitedEvent e) {
|
||||||
IProcessDMContext procDmc = e.getDMContext();
|
IProcessDMContext procDmc = e.getDMContext();
|
||||||
IMIExecutionGroupDMContext groupDmc = e.getGroupId() != null ? createExecutionGroupContext(procDmc, e.getGroupId()) : null;
|
IMIContainerDMContext containerDmc = e.getGroupId() != null ? createContainerContext(procDmc, e.getGroupId()) : null;
|
||||||
getSession().dispatchEvent(new ExecutionGroupExitedDMEvent(groupDmc), getProperties());
|
getSession().dispatchEvent(new ContainerExitedDMEvent(containerDmc), getProperties());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -723,7 +722,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
// Event handler when a thread or threadGroup starts
|
// Event handler when a thread or threadGroup starts
|
||||||
@DsfServiceEventHandler
|
@DsfServiceEventHandler
|
||||||
public void eventDispatched(IStartedDMEvent e) {
|
public void eventDispatched(IStartedDMEvent e) {
|
||||||
if (e instanceof ExecutionGroupStartedDMEvent) {
|
if (e instanceof ContainerStartedDMEvent) {
|
||||||
fContainerCommandCache.reset();
|
fContainerCommandCache.reset();
|
||||||
} else {
|
} else {
|
||||||
fThreadCommandCache.reset();
|
fThreadCommandCache.reset();
|
||||||
|
@ -733,7 +732,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService implements IMIProcesses
|
||||||
// Event handler when a thread or a threadGroup exits
|
// Event handler when a thread or a threadGroup exits
|
||||||
@DsfServiceEventHandler
|
@DsfServiceEventHandler
|
||||||
public void eventDispatched(IExitedDMEvent e) {
|
public void eventDispatched(IExitedDMEvent e) {
|
||||||
if (e instanceof ExecutionGroupExitedDMEvent) {
|
if (e instanceof ContainerExitedDMEvent) {
|
||||||
fContainerCommandCache.reset();
|
fContainerCommandCache.reset();
|
||||||
} else {
|
} else {
|
||||||
fThreadCommandCache.reset();
|
fThreadCommandCache.reset();
|
||||||
|
|
|
@ -13,11 +13,12 @@ package org.eclipse.dd.mi.service;
|
||||||
import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerDMContext;
|
import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerDMContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An execution group context object. In the GDB/MI protocol, thread groups
|
* An container context object. In the GDB/MI protocol, thread groups
|
||||||
* are represented by a string identifier, which is the basis for this context.
|
* are used as containers of threads, and are represented by a string
|
||||||
|
* identifier. These thread groups are the basis for this context.
|
||||||
* @since 1.1
|
* @since 1.1
|
||||||
*/
|
*/
|
||||||
public interface IMIExecutionGroupDMContext extends IContainerDMContext
|
public interface IMIContainerDMContext extends IContainerDMContext
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Returns the GDB/MI thread group identifier of this context.
|
* Returns the GDB/MI thread group identifier of this context.
|
|
@ -47,12 +47,12 @@ public interface IMIProcesses extends IProcesses
|
||||||
String threadId);
|
String threadId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a executionGroup context.
|
* Create a container context.
|
||||||
*
|
*
|
||||||
* @param processDmc The parent process context of this context
|
* @param processDmc The parent process context of this context
|
||||||
* @param groupId The thread group id of the process
|
* @param groupId The thread group id of the process
|
||||||
*/
|
*/
|
||||||
IMIExecutionGroupDMContext createExecutionGroupContext(IProcessDMContext processDmc,
|
IMIContainerDMContext createContainerContext(IProcessDMContext processDmc,
|
||||||
String groupId);
|
String groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
// MIControlDMContext
|
// MIControlDMContext
|
||||||
// |
|
// |
|
||||||
// MIProcessDMC (IProcess)
|
// MIProcessDMC (IProcess)
|
||||||
// MIExecutionGroupDMC __/ |
|
// MIContainerDMC ______/ |
|
||||||
// (IContainer) |
|
// (IContainer) |
|
||||||
// | MIThreadDMC (IThread)
|
// | MIThreadDMC (IThread)
|
||||||
// MIExecutionDMC _____/
|
// MIExecutionDMC _____/
|
||||||
|
@ -129,8 +129,8 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
* Context representing a thread group of GDB/MI.
|
* Context representing a thread group of GDB/MI.
|
||||||
*/
|
*/
|
||||||
@Immutable
|
@Immutable
|
||||||
private static class MIExecutionGroupDMC extends AbstractDMContext
|
private static class MIContainerDMC extends AbstractDMContext
|
||||||
implements IMIExecutionGroupDMContext
|
implements IMIContainerDMContext
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* String ID that is used to identify the thread group in the GDB/MI protocol.
|
* String ID that is used to identify the thread group in the GDB/MI protocol.
|
||||||
|
@ -139,14 +139,14 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the context. It should not be called directly by clients.
|
* Constructor for the context. It should not be called directly by clients.
|
||||||
* Instead clients should call {@link IMIProcesses#createExecutionGroupContext
|
* Instead clients should call {@link IMIProcesses#createContainerContext
|
||||||
* to create instances of this context based on the group name.
|
* to create instances of this context based on the group name.
|
||||||
*
|
*
|
||||||
* @param sessionId Session that this context belongs to.
|
* @param sessionId Session that this context belongs to.
|
||||||
* @param processDmc The process context that is the parent of this context.
|
* @param processDmc The process context that is the parent of this context.
|
||||||
* @param groupId GDB/MI thread group identifier.
|
* @param groupId GDB/MI thread group identifier.
|
||||||
*/
|
*/
|
||||||
public MIExecutionGroupDMC(String sessionId, IProcessDMContext processDmc, String groupId) {
|
public MIContainerDMC(String sessionId, IProcessDMContext processDmc, String groupId) {
|
||||||
super(sessionId, processDmc == null ? new IDMContext[0] : new IDMContext[] { processDmc });
|
super(sessionId, processDmc == null ? new IDMContext[0] : new IDMContext[] { processDmc });
|
||||||
fId = groupId;
|
fId = groupId;
|
||||||
}
|
}
|
||||||
|
@ -162,7 +162,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
return super.baseEquals(obj) &&
|
return super.baseEquals(obj) &&
|
||||||
(((MIExecutionGroupDMC)obj).fId == null ? fId == null : ((MIExecutionGroupDMC)obj).fId.equals(fId));
|
(((MIContainerDMC)obj).fId == null ? fId == null : ((MIContainerDMC)obj).fId.equals(fId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -222,7 +222,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* ID given by the OS.
|
* ID given by the OS.
|
||||||
* For practicality, we use the same id as the one used in {@link MIProcesses#MIExecutionGroupDMC}
|
* For practicality, we use the same id as the one used in {@link MIProcesses#MIContainerDMC}
|
||||||
*/
|
*/
|
||||||
private final String fId;
|
private final String fId;
|
||||||
|
|
||||||
|
@ -280,10 +280,10 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
* Event indicating that an execution group (debugged process) has started. This event
|
* Event indicating that an execution group (debugged process) has started. This event
|
||||||
* implements the {@link IStartedMDEvent} from the IRunControl service.
|
* implements the {@link IStartedMDEvent} from the IRunControl service.
|
||||||
*/
|
*/
|
||||||
public static class ExecutionGroupStartedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
public static class ContainerStartedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
||||||
implements IStartedDMEvent
|
implements IStartedDMEvent
|
||||||
{
|
{
|
||||||
public ExecutionGroupStartedDMEvent(IMIExecutionGroupDMContext context) {
|
public ContainerStartedDMEvent(IMIContainerDMContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -292,10 +292,10 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
* Event indicating that an execution group is no longer being debugged. This event
|
* Event indicating that an execution group is no longer being debugged. This event
|
||||||
* implements the {@link IExitedMDEvent} from the IRunControl service.
|
* implements the {@link IExitedMDEvent} from the IRunControl service.
|
||||||
*/
|
*/
|
||||||
public static class ExecutionGroupExitedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
public static class ContainerExitedDMEvent extends AbstractDMEvent<IExecutionDMContext>
|
||||||
implements IExitedDMEvent
|
implements IExitedDMEvent
|
||||||
{
|
{
|
||||||
public ExecutionGroupExitedDMEvent(IContainerDMContext context) {
|
public ContainerExitedDMEvent(IContainerDMContext context) {
|
||||||
super(context);
|
super(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -386,9 +386,9 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
return new MIExecutionDMC(getSession().getId(), containerDmc, threadDmc, threadId);
|
return new MIExecutionDMC(getSession().getId(), containerDmc, threadDmc, threadId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IMIExecutionGroupDMContext createExecutionGroupContext(IProcessDMContext processDmc,
|
public IMIContainerDMContext createContainerContext(IProcessDMContext processDmc,
|
||||||
String groupId) {
|
String groupId) {
|
||||||
return new MIExecutionGroupDMC(getSession().getId(), processDmc, groupId);
|
return new MIContainerDMC(getSession().getId(), processDmc, groupId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -423,8 +423,8 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
new DataRequestMonitor<IDMContext>(getExecutor(), rm) {
|
new DataRequestMonitor<IDMContext>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
if (getData() instanceof IMIExecutionGroupDMContext) {
|
if (getData() instanceof IMIContainerDMContext) {
|
||||||
IMIExecutionGroupDMContext contDmc = (IMIExecutionGroupDMContext)getData();
|
IMIContainerDMContext contDmc = (IMIContainerDMContext)getData();
|
||||||
fContainerCommandCache.execute(new CLIInfoThreads(contDmc),
|
fContainerCommandCache.execute(new CLIInfoThreads(contDmc),
|
||||||
new DataRequestMonitor<CLIInfoThreadsInfo>(getExecutor(), rm) {
|
new DataRequestMonitor<CLIInfoThreadsInfo>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
|
@ -452,12 +452,12 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
public void getDebuggingContext(IThreadDMContext dmc, DataRequestMonitor<IDMContext> rm) {
|
public void getDebuggingContext(IThreadDMContext dmc, DataRequestMonitor<IDMContext> rm) {
|
||||||
if (dmc instanceof MIProcessDMC) {
|
if (dmc instanceof MIProcessDMC) {
|
||||||
MIProcessDMC procDmc = (MIProcessDMC)dmc;
|
MIProcessDMC procDmc = (MIProcessDMC)dmc;
|
||||||
rm.setData(createExecutionGroupContext(procDmc, procDmc.getProcId()));
|
rm.setData(createContainerContext(procDmc, procDmc.getProcId()));
|
||||||
} else if (dmc instanceof MIThreadDMC) {
|
} else if (dmc instanceof MIThreadDMC) {
|
||||||
MIThreadDMC threadDmc = (MIThreadDMC)dmc;
|
MIThreadDMC threadDmc = (MIThreadDMC)dmc;
|
||||||
IMIProcessDMContext procDmc = DMContexts.getAncestorOfType(dmc, IMIProcessDMContext.class);
|
IMIProcessDMContext procDmc = DMContexts.getAncestorOfType(dmc, IMIProcessDMContext.class);
|
||||||
IMIExecutionGroupDMContext groupDmc = createExecutionGroupContext(procDmc, procDmc.getProcId());
|
IMIContainerDMContext containerDmc = createContainerContext(procDmc, procDmc.getProcId());
|
||||||
rm.setData(createExecutionContext(groupDmc, threadDmc, threadDmc.getId()));
|
rm.setData(createExecutionContext(containerDmc, threadDmc, threadDmc.getId()));
|
||||||
} else {
|
} else {
|
||||||
rm.setStatus(new Status(IStatus.ERROR, MIPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid thread context.", null)); //$NON-NLS-1$
|
rm.setStatus(new Status(IStatus.ERROR, MIPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid thread context.", null)); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
@ -479,11 +479,11 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
new DataRequestMonitor<MIInfo>(getExecutor(), rm) {
|
new DataRequestMonitor<MIInfo>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
IMIExecutionGroupDMContext groupDmc = createExecutionGroupContext(procCtx,
|
IMIContainerDMContext containerDmc = createContainerContext(procCtx,
|
||||||
((IMIProcessDMContext)procCtx).getProcId());
|
((IMIProcessDMContext)procCtx).getProcId());
|
||||||
getSession().dispatchEvent(new ExecutionGroupStartedDMEvent(groupDmc),
|
getSession().dispatchEvent(new ContainerStartedDMEvent(containerDmc),
|
||||||
getProperties());
|
getProperties());
|
||||||
rm.setData(groupDmc);
|
rm.setData(containerDmc);
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -512,7 +512,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
IContainerDMContext containerDmc = DMContexts.getAncestorOfType(dmc, IContainerDMContext.class);
|
IContainerDMContext containerDmc = DMContexts.getAncestorOfType(dmc, IContainerDMContext.class);
|
||||||
if (containerDmc != null) {
|
if (containerDmc != null) {
|
||||||
getSession().dispatchEvent(new ExecutionGroupExitedDMEvent(containerDmc),
|
getSession().dispatchEvent(new ContainerExitedDMEvent(containerDmc),
|
||||||
getProperties());
|
getProperties());
|
||||||
}
|
}
|
||||||
rm.done();
|
rm.done();
|
||||||
|
@ -541,14 +541,14 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getProcessesBeingDebugged(IDMContext dmc, final DataRequestMonitor<IDMContext[]> rm) {
|
public void getProcessesBeingDebugged(IDMContext dmc, final DataRequestMonitor<IDMContext[]> rm) {
|
||||||
final IMIExecutionGroupDMContext groupDmc = DMContexts.getAncestorOfType(dmc, IMIExecutionGroupDMContext.class);
|
final IMIContainerDMContext containerDmc = DMContexts.getAncestorOfType(dmc, IMIContainerDMContext.class);
|
||||||
if (groupDmc != null) {
|
if (containerDmc != null) {
|
||||||
fContainerCommandCache.execute(
|
fContainerCommandCache.execute(
|
||||||
new MIThreadListIds(groupDmc),
|
new MIThreadListIds(containerDmc),
|
||||||
new DataRequestMonitor<MIThreadListIdsInfo>(getExecutor(), rm) {
|
new DataRequestMonitor<MIThreadListIdsInfo>(getExecutor(), rm) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleSuccess() {
|
protected void handleSuccess() {
|
||||||
rm.setData(makeExecutionDMCs(groupDmc, getData()));
|
rm.setData(makeExecutionDMCs(containerDmc, getData()));
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -558,8 +558,8 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
|
||||||
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
IProcessDMContext procDmc = createProcessContext(controlDmc, groupId);
|
||||||
IMIExecutionGroupDMContext newGroupDmc = createExecutionGroupContext(procDmc, groupId);
|
IMIContainerDMContext newContainerDmc = createContainerContext(procDmc, groupId);
|
||||||
rm.setData(new IContainerDMContext[] {newGroupDmc});
|
rm.setData(new IContainerDMContext[] {newContainerDmc});
|
||||||
rm.done();
|
rm.done();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ public class CLIEventProcessor
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
|
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
MIEvent<?> e = new MIThreadCreatedEvent(processContainerDmc, threadId);
|
MIEvent<?> e = new MIThreadCreatedEvent(processContainerDmc, threadId);
|
||||||
fCommandControl.getSession().dispatchEvent(e, fCommandControl.getProperties());
|
fCommandControl.getSession().dispatchEvent(e, fCommandControl.getProperties());
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ public class CLIEventProcessor
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
|
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
MIEvent<?> event = new MIRunningEvent(processContainerDmc, token, type);
|
MIEvent<?> event = new MIRunningEvent(processContainerDmc, token, type);
|
||||||
fCommandControl.getSession().dispatchEvent(event, fCommandControl.getProperties());
|
fCommandControl.getSession().dispatchEvent(event, fCommandControl.getProperties());
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,7 @@ public class MIRunControlEventProcessor
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
|
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
|
|
||||||
IExecutionDMContext execDmc = processContainerDmc;
|
IExecutionDMContext execDmc = processContainerDmc;
|
||||||
if (procService != null && threadId != null) {
|
if (procService != null && threadId != null) {
|
||||||
|
@ -249,7 +249,7 @@ public class MIRunControlEventProcessor
|
||||||
if (procService != null) {
|
if (procService != null) {
|
||||||
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
String groupId = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
|
|
||||||
fCommandControl.getSession().dispatchEvent(
|
fCommandControl.getSession().dispatchEvent(
|
||||||
new MIRunningEvent(processContainerDmc, id, type), fCommandControl.getProperties());
|
new MIRunningEvent(processContainerDmc, id, type), fCommandControl.getProperties());
|
||||||
|
|
|
@ -205,7 +205,7 @@ public class MIRunControlEventProcessor_7_0
|
||||||
|
|
||||||
if (procService != null) {
|
if (procService != null) {
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
|
|
||||||
MIEvent<?> event = null;
|
MIEvent<?> event = null;
|
||||||
if ("thread-created".equals(miEvent)) { //$NON-NLS-1$
|
if ("thread-created".equals(miEvent)) { //$NON-NLS-1$
|
||||||
|
@ -300,7 +300,7 @@ public class MIRunControlEventProcessor_7_0
|
||||||
groupId = fThreadToGroupMap.get(threadId);
|
groupId = fThreadToGroupMap.get(threadId);
|
||||||
}
|
}
|
||||||
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
IProcessDMContext procDmc = procService.createProcessContext(fControlDmc, groupId);
|
||||||
IContainerDMContext processContainerDmc = procService.createExecutionGroupContext(procDmc, groupId);
|
IContainerDMContext processContainerDmc = procService.createContainerContext(procDmc, groupId);
|
||||||
|
|
||||||
IExecutionDMContext execDmc = processContainerDmc;
|
IExecutionDMContext execDmc = processContainerDmc;
|
||||||
if (procService != null && threadId != null) {
|
if (procService != null && threadId != null) {
|
||||||
|
|
|
@ -118,8 +118,8 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
fRunCtrl.getExecutionContexts(groupDmc, rm);
|
fRunCtrl.getExecutionContexts(containerDmc, rm);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
||||||
|
@ -204,8 +204,8 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
fRunCtrl.getExecutionContexts(groupDmc, rmExecutionCtxts);
|
fRunCtrl.getExecutionContexts(containerDmc, rmExecutionCtxts);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
||||||
|
@ -256,8 +256,8 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
fRunCtrl.getExecutionData(fRunCtrl.createMIExecutionContext(groupDmc, 1), rm);
|
fRunCtrl.getExecutionData(fRunCtrl.createMIExecutionContext(containerDmc, 1), rm);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
||||||
|
@ -475,8 +475,8 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
fRunCtrl.resume(groupDmc, rm);
|
fRunCtrl.resume(containerDmc, rm);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
wait.waitUntilDone(AsyncCompletionWaitor.WAIT_FOREVER);
|
||||||
|
@ -495,9 +495,9 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
|
|
||||||
wait.setReturnInfo(fRunCtrl.isSuspended(groupDmc));
|
wait.setReturnInfo(fRunCtrl.isSuspended(containerDmc));
|
||||||
wait.waitFinished();
|
wait.waitFinished();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -550,9 +550,9 @@ public class MIRunControlTest extends BaseTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
String pid = MIProcesses.UNIQUE_GROUP_ID;
|
||||||
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
IProcessDMContext procDmc = fProcService.createProcessContext(fGDBCtrl.getContext(), pid);
|
||||||
IContainerDMContext groupDmc = fProcService.createExecutionGroupContext(procDmc, pid);
|
IContainerDMContext containerDmc = fProcService.createContainerContext(procDmc, pid);
|
||||||
|
|
||||||
wait.setReturnInfo(fRunCtrl.isSuspended(groupDmc));
|
wait.setReturnInfo(fRunCtrl.isSuspended(containerDmc));
|
||||||
wait.waitFinished();
|
wait.waitFinished();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue