1
0
Fork 0
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:
Marc Khouzam 2008-09-18 17:58:29 +00:00
parent 0503f0832a
commit 88969aa247
9 changed files with 97 additions and 97 deletions

View file

@ -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

View file

@ -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();

View file

@ -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.

View file

@ -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);
} }

View file

@ -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();
} }
} }

View file

@ -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());
} }

View file

@ -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());

View file

@ -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) {

View file

@ -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();
} }
}); });