Package ghidra.trace.database.stack

# Class DBTraceStackManager

java.lang.Object
ghidra.trace.database.stack.DBTraceStackManager

All Implemented Interfaces:
  `ErrorHandler`, `DBTraceManager`, `TraceStackManager`

public class DBTraceStackManager extends Object implements TraceStackManager, DBTraceManager

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final DBHandle`
  `dbh`
  `protected final ReadWriteLock`
  `lock`
  `protected final DBTraceOverlaySpaceAdapter`
  `overlayAdapter`
  `protected final DBTraceThreadManager`
  `threadManager`
  `protected final DBTrace`
  `trace`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceStackManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace, DBTraceThreadManager threadManager, DBTraceOverlaySpaceAdapter overlayAdapter)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `dbError(IOException e)`
  Notification that an IO exception occurred.
  `protected TraceStack`
  `doGetLatestObjectStack(TraceThread thread, long snap)`
  `protected TraceStack`
  `doGetOrAddObjectStack(TraceThread thread, long snap, boolean createIfAbsent)`
  `Iterable<TraceStackFrame>`
  `getFramesIn(AddressSetView set)`
  `TraceStack`
  `getLatestStack(TraceThread thread, long snap)`
  `TraceStack`
  `getStack(TraceThread thread, long snap, boolean createIfAbsent)`
  `void`
  `invalidateCache(boolean all)`
  Invalidate this manager's caches
  `static PathFilter`
  `single(TraceObject seed, Class<? extends TraceObjectInterface> targetIf)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### dbh

    protected final DBHandle dbh

  - ### lock

    protected final ReadWriteLock lock

  - ### trace

    protected final DBTrace trace

  - ### threadManager

    protected final DBTraceThreadManager threadManager

  - ### overlayAdapter

    protected final DBTraceOverlaySpaceAdapter overlayAdapter

- ## Constructor Details

  - ### DBTraceStackManager

    public DBTraceStackManager(DBHandle dbh, OpenMode openMode, ReadWriteLock lock, TaskMonitor monitor, DBTrace trace, DBTraceThreadManager threadManager, DBTraceOverlaySpaceAdapter overlayAdapter) throws VersionException, IOException
    Throws:
      `VersionException`
      `IOException`

- ## Method Details

  - ### dbError

    public void dbError(IOException e)
    Description copied from interface: `ErrorHandler`
    Notification that an IO exception occurred.
    Specified by:
      `dbError` in interface `ErrorHandler`
    Parameters:
      `e` - `IOException` which was cause of error

  - ### invalidateCache

    public void invalidateCache(boolean all)
    Description copied from interface: `DBTraceManager`
    Invalidate this manager's caches
    Specified by:
      `invalidateCache` in interface `DBTraceManager`
    Parameters:
      `all` - probably nothing. Check out implementations of `ManagerDB.invalidateCache(boolean)`.

  - ### single

    public static PathFilter single(TraceObject seed, Class<? extends TraceObjectInterface> targetIf)

  - ### doGetOrAddObjectStack

    protected TraceStack doGetOrAddObjectStack(TraceThread thread, long snap, boolean createIfAbsent)

  - ### doGetLatestObjectStack

    protected TraceStack doGetLatestObjectStack(TraceThread thread, long snap)

  - ### getStack

    public TraceStack getStack(TraceThread thread, long snap, boolean createIfAbsent)
    Specified by:
      `getStack` in interface `TraceStackManager`

  - ### getLatestStack

    public TraceStack getLatestStack(TraceThread thread, long snap)
    Specified by:
      `getLatestStack` in interface `TraceStackManager`

  - ### getFramesIn

    public Iterable<TraceStackFrame> getFramesIn(AddressSetView set)
    Specified by:
      `getFramesIn` in interface `TraceStackManager`