GP-3970 program caching and refactoring of ProgramManager and OpenProgramTask

This commit is contained in:
ghidragon
2023-11-27 11:47:18 -05:00
parent 5d487a6518
commit 7d67188d0b
34 changed files with 2198 additions and 948 deletions

View File

@@ -20,8 +20,8 @@ import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import db.*;
import ghidra.app.util.task.OpenProgramRequest;
import ghidra.app.util.task.OpenProgramTask;
import ghidra.app.util.task.OpenProgramTask.OpenProgramRequest;
import ghidra.feature.vt.api.correlator.program.ImpliedMatchProgramCorrelator;
import ghidra.feature.vt.api.correlator.program.ManualMatchProgramCorrelator;
import ghidra.feature.vt.api.impl.*;

View File

@@ -21,6 +21,7 @@ import java.util.*;
import db.Transaction;
import ghidra.feature.vt.api.main.*;
import ghidra.framework.data.DomainObjectFileListener;
import ghidra.framework.model.*;
import ghidra.framework.options.Options;
import ghidra.framework.store.LockException;
@@ -91,6 +92,16 @@ public class EmptyVTSession implements VTSession {
// do nothing
}
@Override
public void addDomainFileListener(DomainObjectFileListener listener) {
// do nothing
}
@Override
public void removeDomainFileListener(DomainObjectFileListener listener) {
// do nothing
}
@Override
public EventQueueID createPrivateEventQueue(DomainObjectListener listener, int maxDelay) {
return null;

View File

@@ -84,7 +84,7 @@ public class VTSubToolManager implements VTControllerListener, OptionsChangeList
destinationTool = createTool(DESTINATION_TOOL_NAME, false);
}
ProgramManager service = destinationTool.getService(ProgramManager.class);
return service.openProgram(domainFile, parent);
return service.openProgram(domainFile);
}
Program openSourceProgram(DomainFile domainFile, Component parent) {
@@ -92,7 +92,7 @@ public class VTSubToolManager implements VTControllerListener, OptionsChangeList
sourceTool = createTool(SOURCE_TOOL_NAME, true);
}
ProgramManager service = sourceTool.getService(ProgramManager.class);
return service.openProgram(domainFile, parent);
return service.openProgram(domainFile);
}
void closeSourceProgram(Program source) {

View File

@@ -30,8 +30,8 @@ import docking.wizard.*;
import generic.theme.GIcon;
import generic.theme.GThemeDefaults.Ids.Fonts;
import generic.theme.Gui;
import ghidra.app.util.task.OpenProgramRequest;
import ghidra.app.util.task.OpenProgramTask;
import ghidra.app.util.task.OpenProgramTask.OpenProgramRequest;
import ghidra.framework.main.DataTreeDialog;
import ghidra.framework.model.DomainFile;
import ghidra.framework.model.DomainFolder;