Interface ManagerDB

All Known Subinterfaces:
FunctionManager
All Known Implementing Classes:
BookmarkDBManager, CodeManager, DBPropertyMapManager, EquateManager, ExternalManagerDB, FunctionManagerDB, MemoryMapDB, NamespaceManager, OldProgramContextDB, ProgramDataTypeManager, ProgramRegisterContextDB, ReferenceDBManager, RelocationManager, SymbolManager, TreeManager

public interface ManagerDB
Interface that all subsection managers of a program must implement.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    deleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor)
    Delete all objects which have been applied to the address range startAddr to endAddr and update the database accordingly.
    default void
    Callback from the program after being closed to signal this manager to release memory and resources.
    void
    invalidateCache(boolean all)
    Clears all data caches.
    void
    moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor)
    Move all objects within an address range to a new location.
    void
    programReady(OpenMode openMode, int currentRevision, TaskMonitor monitor)
    Callback from program made to each manager after the program has completed initialization.
    void
    Callback from program used to indicate all manager have been created.
  • Method Details

    • setProgram

      void setProgram(ProgramDB program)
      Callback from program used to indicate all manager have been created. When this method is invoked, all managers have been instantiated but may not be fully initialized.
      Parameters:
      program - the program is set when all the initializations have been completed.
    • programReady

      void programReady(OpenMode openMode, int currentRevision, TaskMonitor monitor) throws IOException, CancelledException
      Callback from program made to each manager after the program has completed initialization. This method may be used by managers to perform additional upgrading which may have been deferred.
      Parameters:
      openMode - the mode that the program is being opened.
      currentRevision - current program revision. If openMode is UPGRADE, this value reflects the pre-upgrade value.
      monitor - the task monitor to use in any upgrade operations.
      Throws:
      IOException - if a database io error occurs.
      CancelledException - if the user cancelled the operation via the task monitor.
    • invalidateCache

      void invalidateCache(boolean all) throws IOException
      Clears all data caches.
      Parameters:
      all - if false, some managers may not need to update their cache if they can tell that its not necessary. If this flag is true, then all managers should clear their cache no matter what.
      Throws:
      IOException - if a database io error occurs.
    • deleteAddressRange

      void deleteAddressRange(Address startAddr, Address endAddr, TaskMonitor monitor) throws CancelledException
      Delete all objects which have been applied to the address range startAddr to endAddr and update the database accordingly. The specified start and end addresses must form a valid range within a single AddressSpace.
      Parameters:
      startAddr - the first address in the range.
      endAddr - the last address in the range.
      monitor - the task monitor to use in any upgrade operations.
      Throws:
      CancelledException - if the user cancelled the operation via the task monitor.
    • moveAddressRange

      void moveAddressRange(Address fromAddr, Address toAddr, long length, TaskMonitor monitor) throws AddressOverflowException, CancelledException
      Move all objects within an address range to a new location.
      Parameters:
      fromAddr - the first address of the range to be moved.
      toAddr - the address where to the range is to be moved.
      length - the number of addresses to move.
      monitor - the task monitor to use in any upgrade operations.
      Throws:
      CancelledException - if the user cancelled the operation via the task monitor.
      AddressOverflowException - if the length is such that a address wrap occurs
    • dispose

      default void dispose()
      Callback from the program after being closed to signal this manager to release memory and resources.