mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
GP-704: Converting models to a push-centric comm pattern.
This commit is contained in:
parent
dd37995833
commit
5bb6f95a84
95 changed files with 2348 additions and 1635 deletions
|
@ -21,7 +21,6 @@ import java.util.concurrent.CompletableFuture;
|
|||
|
||||
import com.sun.jdi.*;
|
||||
|
||||
import ghidra.async.AsyncUtils;
|
||||
import ghidra.dbg.agent.AbstractDebuggerObjectModel;
|
||||
import ghidra.dbg.jdi.manager.JdiManager;
|
||||
import ghidra.dbg.target.TargetObject;
|
||||
|
@ -64,6 +63,7 @@ public class JdiModelImpl extends AbstractDebuggerObjectModel {
|
|||
|
||||
Address start = ram.getAddress(0L);
|
||||
this.defaultRange = new AddressRangeImpl(start, start.add(BLOCK_SIZE));
|
||||
addModelRoot(root);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -86,7 +86,7 @@ public class JdiModelImpl extends AbstractDebuggerObjectModel {
|
|||
@Override
|
||||
public CompletableFuture<Void> close() {
|
||||
jdi.terminate();
|
||||
return AsyncUtils.NIL;
|
||||
return super.close();
|
||||
}
|
||||
|
||||
public JdiModelTargetRoot getRoot() {
|
||||
|
@ -227,6 +227,7 @@ public class JdiModelImpl extends AbstractDebuggerObjectModel {
|
|||
return range;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AddressFactory getAddressFactory() {
|
||||
return addressFactory;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ public class JdiModelTargetClassContainer extends JdiModelTargetObjectImpl {
|
|||
return getClassesByName().get(name);
|
||||
}
|
||||
|
||||
public CompletableFuture<?> refresh() {
|
||||
public CompletableFuture<?> refreshInternal() {
|
||||
if (!isObserved()) {
|
||||
return AsyncUtils.NIL;
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ public class JdiModelTargetConnectorContainer extends JdiModelTargetObjectImpl {
|
|||
return null;
|
||||
}
|
||||
|
||||
public CompletableFuture<?> refresh() {
|
||||
public CompletableFuture<?> refreshInternal() {
|
||||
if (!isObserved()) {
|
||||
return AsyncUtils.NIL;
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ public class JdiModelTargetModuleContainer extends JdiModelTargetObjectImpl
|
|||
return modulesByName.get(name);
|
||||
}
|
||||
|
||||
public CompletableFuture<?> refresh() {
|
||||
public CompletableFuture<?> refreshInternal() {
|
||||
if (!isObserved()) {
|
||||
return AsyncUtils.NIL;
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ public class JdiModelTargetObjectImpl extends
|
|||
private boolean modified;
|
||||
|
||||
public JdiModelTargetObjectImpl(JdiModelTargetObject parent, String id) {
|
||||
super(parent.getModel(), parent, id, "Object");
|
||||
super(parent.getModelImpl(), parent, id, "Object");
|
||||
this.impl = parent.getModelImpl();
|
||||
this.mirror = (Mirror) parent.getObject();
|
||||
this.object = null;
|
||||
|
@ -65,7 +65,7 @@ public class JdiModelTargetObjectImpl extends
|
|||
|
||||
public JdiModelTargetObjectImpl(JdiModelTargetObject parent, String id, Object object,
|
||||
boolean isElement) {
|
||||
super(parent.getModel(), parent, isElement ? keyObject(id) : id, "Object");
|
||||
super(parent.getModelImpl(), parent, isElement ? keyObject(id) : id, "Object");
|
||||
this.impl = parent.getModelImpl();
|
||||
this.mirror = object instanceof Mirror ? (Mirror) object : null;
|
||||
this.object = object;
|
||||
|
@ -88,7 +88,7 @@ public class JdiModelTargetObjectImpl extends
|
|||
}
|
||||
|
||||
public JdiModelTargetObjectImpl(JdiModelTargetSectionContainer parent) {
|
||||
super(parent.getModel(), parent, keyObject("NULL_SPACE"), "Object");
|
||||
super(parent.getModelImpl(), parent, keyObject("NULL_SPACE"), "Object");
|
||||
this.impl = parent.getModelImpl();
|
||||
this.mirror = parent.mirror;
|
||||
this.display = "NULL_SPACE";
|
||||
|
|
|
@ -398,7 +398,7 @@ public class JdiModelTargetVM extends JdiModelTargetObjectImpl implements //
|
|||
}
|
||||
|
||||
@Override
|
||||
public void refresh() {
|
||||
public void refreshInternal() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ import ghidra.dbg.target.TargetEnvironment;
|
|||
public interface JdiModelTargetEnvironment<T extends TargetEnvironment<T>>
|
||||
extends JdiModelTargetObject, TargetEnvironment<T> {
|
||||
|
||||
public void refresh();
|
||||
public void refreshInternal();
|
||||
|
||||
@Override
|
||||
public default String getArchitecture() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue