Class DBTraceSection

java.lang.Object
ghidra.trace.database.module.DBTraceSection
All Implemented Interfaces:
DBTraceObjectInterface, TraceSection, TraceObjectInterface, TraceUniqueObject

public class DBTraceSection extends Object implements TraceSection, DBTraceObjectInterface
  • Constructor Details

  • Method Details

    • getTrace

      public Trace getTrace()
      Description copied from interface: TraceSection
      Get the trace containing this section
      Specified by:
      getTrace in interface TraceSection
      Returns:
      the trace
    • getModule

      public TraceModule getModule()
      Description copied from interface: TraceSection
      Get the module containing this section
      Specified by:
      getModule in interface TraceSection
      Returns:
      the module
    • getPath

      public String getPath()
      Description copied from interface: TraceSection
      Get the "full name" of this section

      This is a unique key (within a snap) among all sections, and may not be suitable for display on the screen.

      Specified by:
      getPath in interface TraceSection
      Returns:
      the path
    • setName

      public void setName(Lifespan lifespan, String name)
      Description copied from interface: TraceSection
      Set the short name of this section

      The given name should be the section's name from its module's image, which is considered suitable for display on the screen.

      Specified by:
      setName in interface TraceSection
      Parameters:
      lifespan - the span of time
      name - the name
    • setName

      public void setName(long snap, String name)
      Description copied from interface: TraceSection
      Set the short name of this section

      The given name should be the section's name from its module's image, which is considered suitable for display on the screen.

      Specified by:
      setName in interface TraceSection
      Parameters:
      snap - the snap
      name - the name
    • getName

      public String getName(long snap)
      Description copied from interface: TraceSection
      Get the "short name" of this section

      This defaults to the "full name," but can be modified via TraceSection.setName(long, String)

      Specified by:
      getName in interface TraceSection
      Parameters:
      snap - the snap
      Returns:
      the name
    • setRange

      public void setRange(Lifespan lifespan, AddressRange range)
      Description copied from interface: TraceSection
      Set the virtual memory address range of this section
      Specified by:
      setRange in interface TraceSection
      Parameters:
      lifespan - the span of time
      range - the span of addresses
    • getRange

      public AddressRange getRange(long snap)
      Description copied from interface: TraceSection
      Get the virtual memory address range of this section
      Specified by:
      getRange in interface TraceSection
      Parameters:
      snap - the snap
      Returns:
      the address range
    • delete

      public void delete()
      Description copied from interface: TraceSection
      Delete this section from the trace
      Specified by:
      delete in interface TraceSection
    • remove

      public void remove(long snap)
      Description copied from interface: TraceSection
      Remove this section from the given snap on
      Specified by:
      remove in interface TraceSection
      Parameters:
      snap - the snap
    • isValid

      public boolean isValid(long snap)
      Description copied from interface: TraceSection
      Check if the section is valid at the given snapshot
      Specified by:
      isValid in interface TraceSection
      Parameters:
      snap - the snapshot key
      Returns:
      true if valid, false if not
    • getObject

      public TraceObject getObject()
      Description copied from interface: TraceObjectInterface
      Get the object backing this implementation
      Specified by:
      getObject in interface TraceObjectInterface
      Returns:
      the object
    • translateEvent

      public TraceChangeRecord<?,?> translateEvent(TraceChangeRecord<?,?> rec)
      Description copied from interface: DBTraceObjectInterface
      Translate an object event into the interface-specific event

      Both the object event and the interface-specific event, if applicable, will be emitted. If multiple events need to be emitted, then this method may emit them directly via its object's trace. If exactly one event needs to be emitted, then this method should return the translated record. If no translation applies, or if the translated event(s) were emitted directly, this method returns null.

      Specified by:
      translateEvent in interface DBTraceObjectInterface
      Parameters:
      rec - the object event
      Returns:
      the interface-specific event to emit, or null