Package ghidra.trace.database.listing
Class DBTraceDefinedDataMemoryView
java.lang.Object
ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsMemoryView<DBTraceData,DBTraceDefinedDataView>
ghidra.trace.database.listing.DBTraceDefinedDataMemoryView
- All Implemented Interfaces:
InternalBaseCodeUnitsView<TraceData>,InternalTraceBaseDefinedUnitsView<TraceData>,InternalTraceDefinedDataView,DBTraceDelegatingManager<DBTraceDefinedDataView>,TraceBaseCodeUnitsView<TraceData>,TraceBaseDefinedUnitsView<TraceData>,TraceDefinedDataView
public class DBTraceDefinedDataMemoryView
extends AbstractBaseDBTraceCodeUnitsMemoryView<DBTraceData,DBTraceDefinedDataView>
implements InternalTraceDefinedDataView
The implementation of
TraceCodeOperations.definedData()-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.trace.database.space.DBTraceDelegatingManager
DBTraceDelegatingManager.ExcConsumer<T,E extends Throwable>, DBTraceDelegatingManager.ExcFunction<T, R, E extends Throwable>, DBTraceDelegatingManager.ExcPredicate<T, E extends Throwable>, DBTraceDelegatingManager.ExcSupplier<T, E extends Throwable> -
Field Summary
Fields inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsMemoryView
manager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear(Lifespan span, AddressRange range, boolean clearContext, TaskMonitor monitor) Clear the units contained within the given span and address range.create(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType) Create a data unit of unspecified length starting at the given addresscreate(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType, int length) Create a data unit starting at the given addressprotected DBTraceDefinedDataViewgetView(DBTraceCodeSpace space) Get the individual view from the given spaceMethods inherited from class ghidra.trace.database.listing.AbstractBaseDBTraceCodeUnitsMemoryView
containsAddress, coversRange, coversRange, emptyOrFullAddressSetUndefined, emptyOrFullIterableUndefined, emptyOrFullIterableUndefined, falseOrTrueUndefined, get, get, get, get, get, getAddressSetView, getAddressSetView, getAfter, getAt, getBefore, getCeiling, getContaining, getFloor, getForSpace, getIntersecting, getSpace, getTrace, intersectsRange, intersectsRange, nextAddress, nullOrUndefined, prevAddress, readLock, size, writeLockMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.trace.database.space.DBTraceDelegatingManager
checkIsInMemory, delegateAddressSet, delegateAny, delegateCollection, delegateDeleteB, delegateDeleteV, delegateFirst, delegateHashSet, delegateRead, delegateRead, delegateReadB, delegateReadI, delegateReadI, delegateReadOr, delegateWrite, delegateWriteAll, delegateWriteI, delegateWriteVMethods inherited from interface ghidra.trace.database.listing.InternalBaseCodeUnitsView
get, getContaining, getForRegister, getSpaceMethods inherited from interface ghidra.trace.database.listing.InternalTraceBaseDefinedUnitsView
clearMethods inherited from interface ghidra.trace.database.listing.InternalTraceDefinedDataView
create, create, create, getPlatformOfMethods inherited from interface ghidra.trace.model.listing.TraceBaseCodeUnitsView
containsAddress, coversRange, coversRange, get, get, get, get, get, get, getAddressSetView, getAddressSetView, getAfter, getAt, getBefore, getCeiling, getContaining, getContaining, getFloor, getForRegister, getIntersecting, getTrace, intersectsRange, intersectsRange, sizeMethods inherited from interface ghidra.trace.model.listing.TraceBaseDefinedUnitsView
clearMethods inherited from interface ghidra.trace.model.listing.TraceDefinedDataView
create
-
Constructor Details
-
DBTraceDefinedDataMemoryView
Construct the view- Parameters:
manager- the manager
-
-
Method Details
-
getView
Description copied from class:AbstractBaseDBTraceCodeUnitsMemoryViewGet the individual view from the given space- Specified by:
getViewin classAbstractBaseDBTraceCodeUnitsMemoryView<DBTraceData,DBTraceDefinedDataView> - Parameters:
space- the space, bound to a specific address space- Returns:
- the view
-
clear
public void clear(Lifespan span, AddressRange range, boolean clearContext, TaskMonitor monitor) throws CancelledException Description copied from interface:TraceBaseDefinedUnitsViewClear the units contained within the given span and address range.Any units alive before the given span are truncated instead of deleted. That is, their end snaps are reduced such that they no longer intersect the given span. Note that the same is not true of a unit's start snap. If the start snap is contained in the span, the unit is deleted, even if its end snap is outside the span.
- Specified by:
clearin interfaceTraceBaseDefinedUnitsView<TraceData>- Parameters:
span- the span to clearrange- the range to clearclearContext- true to clear the register context as wellmonitor- a monitor for progress and cancellation- Throws:
CancelledException- if the clear is cancelled
-
create
public DBTraceDataAdapter create(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType, int length) throws CodeUnitInsertionException Description copied from interface:TraceDefinedDataViewCreate a data unit starting at the given addressThe given type is resolved to the given platform, even if the type already exists in the trace by another platform.
- Specified by:
createin interfaceInternalTraceDefinedDataView- Specified by:
createin interfaceTraceDefinedDataView- Parameters:
lifespan- the span for which the unit is effectiveaddress- the starting addressplatform- the platform for the type'sDataOrganizationdataType- the data type for the unitlength- the length of the unit, -1 for unspecified- Returns:
- the new data unit
- Throws:
CodeUnitInsertionException- if there's a conflict
-
create
public DBTraceDataAdapter create(Lifespan lifespan, Address address, TracePlatform platform, DataType dataType) throws CodeUnitInsertionException Description copied from interface:TraceDefinedDataViewCreate a data unit of unspecified length starting at the given addressThe length will be determined by the data type, possibly by examining the bytes, e.g., a null-terminated UTF-8 string. The given type is resolved to the given platform, even if the type already exists in the trace by another platform.
- Specified by:
createin interfaceInternalTraceDefinedDataView- Specified by:
createin interfaceTraceDefinedDataView- Parameters:
lifespan- the span for which the unit is effectiveaddress- the starting addressplatform- the platform for the type'sDataOrganizationdataType- the data type for the unit- Returns:
- the new data unit
- Throws:
CodeUnitInsertionException- if there's a conflict
-