1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

[249141] Simplify of API.

This commit is contained in:
Marc Khouzam 2008-09-30 15:57:06 +00:00
parent 51d56390ca
commit 4edeecf7f8

View file

@ -31,9 +31,12 @@ import org.eclipse.dd.dsf.datamodel.IDMContext;
import org.eclipse.dd.dsf.debug.service.ICachingService; import org.eclipse.dd.dsf.debug.service.ICachingService;
import org.eclipse.dd.dsf.debug.service.IExpressions; import org.eclipse.dd.dsf.debug.service.IExpressions;
import org.eclipse.dd.dsf.debug.service.IMemory; import org.eclipse.dd.dsf.debug.service.IMemory;
import org.eclipse.dd.dsf.debug.service.IRunControl;
import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMAddress; import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMAddress;
import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMContext; import org.eclipse.dd.dsf.debug.service.IExpressions.IExpressionDMContext;
import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerResumedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.IContainerSuspendedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.IResumedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.ISuspendedDMEvent;
import org.eclipse.dd.dsf.debug.service.IRunControl.StateChangeReason; import org.eclipse.dd.dsf.debug.service.IRunControl.StateChangeReason;
import org.eclipse.dd.dsf.debug.service.command.CommandCache; import org.eclipse.dd.dsf.debug.service.command.CommandCache;
import org.eclipse.dd.dsf.debug.service.command.ICommandControlService; import org.eclipse.dd.dsf.debug.service.command.ICommandControlService;
@ -279,11 +282,13 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
* @noreference This method is not intended to be referenced by clients. * @noreference This method is not intended to be referenced by clients.
*/ */
@DsfServiceEventHandler @DsfServiceEventHandler
public void eventDispatched(IRunControl.IContainerResumedDMEvent e) { public void eventDispatched(IResumedDMEvent e) {
fMemoryCache.setTargetAvailable(e.getDMContext(), false); if (e instanceof IContainerResumedDMEvent) {
if (e.getReason() != StateChangeReason.STEP) { fMemoryCache.setTargetAvailable(e.getDMContext(), false);
fMemoryCache.reset(); if (e.getReason() != StateChangeReason.STEP) {
} fMemoryCache.reset();
}
}
} }
/** /**
@ -291,9 +296,11 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
* @noreference This method is not intended to be referenced by clients. * @noreference This method is not intended to be referenced by clients.
*/ */
@DsfServiceEventHandler @DsfServiceEventHandler
public void eventDispatched(IRunControl.IContainerSuspendedDMEvent e) { public void eventDispatched(ISuspendedDMEvent e) {
fMemoryCache.setTargetAvailable(e.getDMContext(), true); if (e instanceof IContainerSuspendedDMEvent) {
fMemoryCache.reset(); fMemoryCache.setTargetAvailable(e.getDMContext(), true);
fMemoryCache.reset();
}
} }
/** /**
@ -331,24 +338,6 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
} }
} }
/**
* This method is left for API compatibility only.
* @nooverride This method is not intended to be re-implemented or extended by clients.
* @noreference This method is not intended to be referenced by clients.
*/
@DsfServiceEventHandler
public void eventDispatched(IRunControl.IResumedDMEvent e) {
}
/**
* This method is left for API compatibility only.
* @nooverride This method is not intended to be re-implemented or extended by clients.
* @noreference This method is not intended to be referenced by clients.
*/
@DsfServiceEventHandler
public void eventDispatched(IRunControl.ISuspendedDMEvent e) {
}
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// SortedLinkedlist // SortedLinkedlist
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
@ -774,11 +763,11 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
// that the subsequent memory read will be correct) // that the subsequent memory read will be correct)
fCommandCache.reset(); fCommandCache.reset();
// Asynchronous update of the memory cache // Re-read the modified memory block to asynchronously update of the memory cache
final DataRequestMonitor<MemoryByte[]> drm = readMemoryBlock(memoryDMC, address, offset, word_size, count,
new DataRequestMonitor<MemoryByte[]>(getExecutor(), rm) { new DataRequestMonitor<MemoryByte[]>(getExecutor(), rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
updateMemoryCache(address.add(offset), count, getData()); updateMemoryCache(address.add(offset), count, getData());
// Send the MemoryChangedEvent // Send the MemoryChangedEvent
IAddress[] addresses = new IAddress[count]; IAddress[] addresses = new IAddress[count];
@ -788,16 +777,6 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
getSession().dispatchEvent(new MemoryChangedEvent(memoryDMC, addresses), getProperties()); getSession().dispatchEvent(new MemoryChangedEvent(memoryDMC, addresses), getProperties());
// Finally... // Finally...
rm.done(); rm.done();
}
};
// Re-read the modified memory block
readMemoryBlock(memoryDMC, address, offset, word_size, count,
new DataRequestMonitor<MemoryByte[]>(getExecutor(), drm) {
@Override
protected void handleSuccess() {
drm.setData(getData());
drm.done();
} }
}); });
} }