Class VTControllerImpl

java.lang.Object
ghidra.feature.vt.gui.plugin.VTControllerImpl
All Implemented Interfaces:
VTController, VTSessionSupplier, ghidra.framework.model.DomainObjectListener, ghidra.framework.model.TransactionListener, ghidra.framework.options.OptionsChangeListener, EventListener

public class VTControllerImpl extends Object implements ghidra.framework.model.DomainObjectListener, ghidra.framework.options.OptionsChangeListener, ghidra.framework.model.TransactionListener, VTController
  • Constructor Details

    • VTControllerImpl

      public VTControllerImpl(VTPlugin plugin)
  • Method Details

    • addListener

      public void addListener(VTControllerListener listener)
      Specified by:
      addListener in interface VTController
    • removeListener

      public void removeListener(VTControllerListener listener)
      Specified by:
      removeListener in interface VTController
    • getSession

      public VTSession getSession()
      Specified by:
      getSession in interface VTController
      Specified by:
      getSession in interface VTSessionSupplier
    • openVersionTrackingSession

      public boolean openVersionTrackingSession(ghidra.framework.model.DomainFile domainFile)
      Specified by:
      openVersionTrackingSession in interface VTController
    • openVersionTrackingSession

      public void openVersionTrackingSession(VTSession newSession)
      Specified by:
      openVersionTrackingSession in interface VTController
    • closeVersionTrackingSession

      public boolean closeVersionTrackingSession()
      Specified by:
      closeVersionTrackingSession in interface VTController
    • closeCurrentSessionIgnoringChanges

      public void closeCurrentSessionIgnoringChanges()
      Specified by:
      closeCurrentSessionIgnoringChanges in interface VTController
    • dispose

      public void dispose()
      Specified by:
      dispose in interface VTController
    • readConfigState

      public void readConfigState(ghidra.framework.options.SaveState saveState)
      Specified by:
      readConfigState in interface VTController
    • writeConfigState

      public void writeConfigState(ghidra.framework.options.SaveState saveState)
      Specified by:
      writeConfigState in interface VTController
    • getSourceProgram

      public ghidra.program.model.listing.Program getSourceProgram()
      Specified by:
      getSourceProgram in interface VTController
    • getDestinationProgram

      public ghidra.program.model.listing.Program getDestinationProgram()
      Specified by:
      getDestinationProgram in interface VTController
    • checkForUnSavedChanges

      public boolean checkForUnSavedChanges()
      Specified by:
      checkForUnSavedChanges in interface VTController
    • getCorrelator

      public ghidra.program.util.AddressCorrelation getCorrelator(ghidra.program.model.listing.Function source, ghidra.program.model.listing.Function destination)
      Specified by:
      getCorrelator in interface VTController
    • getCorrelator

      public ghidra.program.util.AddressCorrelation getCorrelator(ghidra.program.model.listing.Data source, ghidra.program.model.listing.Data destination)
      Specified by:
      getCorrelator in interface VTController
    • getCurrentMarkupForLocation

      public VTMarkupItem getCurrentMarkupForLocation(ghidra.program.util.ProgramLocation location, ghidra.program.model.listing.Program program)
      Specified by:
      getCurrentMarkupForLocation in interface VTController
    • getMarkupItems

      public List<VTMarkupItem> getMarkupItems(docking.ActionContext context)
      Specified by:
      getMarkupItems in interface VTController
    • getOptions

      public ghidra.framework.options.ToolOptions getOptions()
      Specified by:
      getOptions in interface VTController
    • getParentComponent

      public Component getParentComponent()
      Specified by:
      getParentComponent in interface VTController
    • getServiceProvider

      public ghidra.framework.plugintool.ServiceProvider getServiceProvider()
      Specified by:
      getServiceProvider in interface VTController
    • getVersionTrackingSessionName

      public String getVersionTrackingSessionName()
      Specified by:
      getVersionTrackingSessionName in interface VTController
    • refresh

      public void refresh()
      Specified by:
      refresh in interface VTController
    • getMatchInfo

      public MatchInfo getMatchInfo()
      Specified by:
      getMatchInfo in interface VTController
    • getTool

      public ghidra.framework.plugintool.PluginTool getTool()
      Specified by:
      getTool in interface VTController
    • setSelectedMatch

      public void setSelectedMatch(VTMatch match)
      Specified by:
      setSelectedMatch in interface VTController
    • getMatchInfo

      public MatchInfo getMatchInfo(VTMatch match)
      Specified by:
      getMatchInfo in interface VTController
    • setSelectedMarkupItem

      public void setSelectedMarkupItem(VTMarkupItem markupItem)
      Specified by:
      setSelectedMarkupItem in interface VTController
    • markupItemStatusChanged

      public void markupItemStatusChanged(VTMarkupItem item)
      Specified by:
      markupItemStatusChanged in interface VTController
    • getCorrelator

      public AddressCorrelatorManager getCorrelator()
      Specified by:
      getCorrelator in interface VTController
    • domainObjectChanged

      public void domainObjectChanged(ghidra.framework.model.DomainObjectChangedEvent ev)
      Specified by:
      domainObjectChanged in interface ghidra.framework.model.DomainObjectListener
      Specified by:
      domainObjectChanged in interface VTController
    • optionsChanged

      public void optionsChanged(ghidra.framework.options.ToolOptions options, String optionName, Object oldValue, Object newValue)
      Specified by:
      optionsChanged in interface ghidra.framework.options.OptionsChangeListener
      Specified by:
      optionsChanged in interface VTController
    • gotoSourceLocation

      public void gotoSourceLocation(ghidra.program.util.ProgramLocation location)
      Specified by:
      gotoSourceLocation in interface VTController
    • gotoDestinationLocation

      public void gotoDestinationLocation(ghidra.program.util.ProgramLocation location)
      Specified by:
      gotoDestinationLocation in interface VTController
    • runVTTask

      public void runVTTask(VtTask task)
      Description copied from interface: VTController
      Runs VT tasks, listening for destination program changes and updates undo/redo state accordingly.
      Specified by:
      runVTTask in interface VTController
      Parameters:
      task - the task
    • getSelectionInSourceTool

      public ghidra.program.model.address.AddressSetView getSelectionInSourceTool()
      Description copied from interface: VTController
      Gets the address set for the current selection in the Source Tool.
      Specified by:
      getSelectionInSourceTool in interface VTController
      Returns:
      the current selection or null.
    • getSelectionInDestinationTool

      public ghidra.program.model.address.AddressSetView getSelectionInDestinationTool()
      Description copied from interface: VTController
      Gets the address set for the current selection in the Destination Tool.
      Specified by:
      getSelectionInDestinationTool in interface VTController
      Returns:
      the current selection or null.
    • setSelectionInSourceTool

      public void setSelectionInSourceTool(ghidra.program.model.address.AddressSetView sourceSet)
      Description copied from interface: VTController
      Sets the selection in the source tool to the given address set.
      Specified by:
      setSelectionInSourceTool in interface VTController
      Parameters:
      sourceSet - the addressSet to set the source tool's selection.
    • setSelectionInDestinationTool

      public void setSelectionInDestinationTool(ghidra.program.model.address.AddressSetView destinationSet)
      Description copied from interface: VTController
      Sets the selection in the destination tool to the given address set.
      Specified by:
      setSelectionInDestinationTool in interface VTController
      Parameters:
      destinationSet - the addressSet to set the destination tool's selection.
    • getDestinationSymbol

      public ghidra.program.model.symbol.Symbol getDestinationSymbol(VTAssociation association)
      Specified by:
      getDestinationSymbol in interface VTController
    • getSourceSymbol

      public ghidra.program.model.symbol.Symbol getSourceSymbol(VTAssociation association)
      Specified by:
      getSourceSymbol in interface VTController
    • getSourceColorizingService

      public ghidra.app.plugin.core.colorizer.ColorizingService getSourceColorizingService()
      Specified by:
      getSourceColorizingService in interface VTController
    • getDestinationColorizingService

      public ghidra.app.plugin.core.colorizer.ColorizingService getDestinationColorizingService()
      Specified by:
      getDestinationColorizingService in interface VTController
    • transactionEnded

      public void transactionEnded(ghidra.framework.data.DomainObjectAdapterDB domainObj)
      Specified by:
      transactionEnded in interface ghidra.framework.model.TransactionListener
    • transactionStarted

      public void transactionStarted(ghidra.framework.data.DomainObjectAdapterDB domainObj, ghidra.framework.model.TransactionInfo tx)
      Specified by:
      transactionStarted in interface ghidra.framework.model.TransactionListener
    • undoStackChanged

      public void undoStackChanged(ghidra.framework.data.DomainObjectAdapterDB domainObj)
      Specified by:
      undoStackChanged in interface ghidra.framework.model.TransactionListener
    • undoRedoOccurred

      public void undoRedoOccurred(ghidra.framework.data.DomainObjectAdapterDB domainObj)
      Specified by:
      undoRedoOccurred in interface ghidra.framework.model.TransactionListener