Package ghidra.trace.database.listing
Interface DBTraceDataAdapter
- All Superinterfaces:
CodeUnit,Data,DataAdapterFromDataType,DataAdapterFromSettings,DataAdapterMinimal,DBTraceCodeUnitAdapter,MemBuffer,MemBufferMixin,PropertySet,Settings,TraceCodeUnit,TraceData
- All Known Subinterfaces:
DBTraceDefinedDataAdapter
- All Known Implementing Classes:
AbstractDBTraceDataComponent,AbstractDBTraceProgramViewListing.DBTraceProgramViewUndefinedData,DBTraceData,DBTraceDataArrayElementComponent,DBTraceDataCompositeFieldComponent,UndefinedDBTraceData
public interface DBTraceDataAdapter
extends DBTraceCodeUnitAdapter, DataAdapterMinimal, DataAdapterFromDataType, DataAdapterFromSettings, TraceData
A base interface for implementations of
TraceData
This behaves somewhat like a mixin, allowing it to be used on data units as well as data components, e.g., fields of a struct data unit.
-
Field Summary
FieldsFields inherited from interface ghidra.program.model.listing.CodeUnit
COMMENT_PROPERTY, DEFINED_DATA_PROPERTY, EOL_COMMENT, INSTRUCTION_PROPERTY, MNEMONIC, PLATE_COMMENT, POST_COMMENT, PRE_COMMENT, REPEATABLE_COMMENT, SPACE_PROPERTYFields inherited from interface ghidra.trace.util.DataAdapterMinimal
DATA_OP_INDEX, EMPTY_INT_ARRAY -
Method Summary
Modifier and TypeMethodDescriptiondefault voidaddValueReference(Address refAddr, RefType type) Add a memory reference to the value.default voidRemoves all name-value pairs from this settings objectdefault voidclearSetting(String name) Removes any value associated with the given namedefault LongGets the Long value associated with the given namedefault String[]getNames()Get this list of keys that currently have values associated with themgetPrimitiveAt(int offset) Returns the primitive component containing this offset (i.e., one that does not have sub-components).getRoot()Get the highest level Data item in a hierarchy of structures containing this component.default <T extends SettingsDefinition>
TgetSettingsDefinition(Class<T> settingsDefinitionClass) getSettingsSpace(boolean createIfAbsent) Get the same space from the internal settings adapterdefault StringGets the String value associated with the given namedefault ObjectGets the object associated with the given namedefault TraceReference[]Get the references for the value.default booleanhasMutability(int mutabilityType) default booleanisChangeAllowed(SettingsDefinition settingsDefinition) Determine if a settings change corresponding to the specified settingsDefinition is permitted.default booleanisEmpty()Returns true if there are no key-value pairs stored in this settings object.default voidremoveValueReference(Address refAddr) Remove a reference to the value.default voidAssociates the given long value with the name.default voidAssociates the given String value with the name.default voidAssociates the given object with the name.Methods inherited from interface ghidra.program.model.listing.CodeUnit
getComment, getCommentAsArray, getLength, getMaxAddress, setComment, setCommentAsArrayMethods inherited from interface ghidra.program.model.listing.Data
getBaseDataType, getComponentIndex, getComponentLevel, getComponentPath, getComponentPathName, getComponentsContaining, getDataType, getFieldName, getNumComponents, getParent, getParentOffset, getPathName, getRootOffset, isDefined, isImmutableSettingsMethods inherited from interface ghidra.trace.util.DataAdapterFromDataType
doToString, getAddress, getDefaultLabelPrefix, getDefaultValueRepresentation, getMnemonicString, getScalar, getValue, getValueClass, hasStringValue, isArray, isDynamic, isPointer, isStructure, isUnionMethods inherited from interface ghidra.trace.util.DataAdapterFromSettings
isConstant, isVolatile, isWritableMethods inherited from interface ghidra.trace.util.DataAdapterMinimal
getNumOperands, getPrimarySymbolOrDynamicNameMethods inherited from interface ghidra.trace.database.listing.DBTraceCodeUnitAdapter
addMnemonicReference, addOperandReference, compareTo, contains, getAddressSpace, getAddressString, getBytes, getBytesInCodeUnit, getComment, getCommentAsArray, getExternalReference, getIntProperty, getLabel, getMemory, getMinAddress, getMnemonicReferences, getObjectProperty, getOperandReferences, getPrimaryReference, getPrimarySymbol, getProgram, getProperty, getReferenceIteratorTo, getReferencesFrom, getStringProperty, getSymbols, getTrace, getVoidProperty, hasProperty, isBigEndian, propertyNames, removeExternalReference, removeMnemonicReference, removeOperandReference, removeProperty, setComment, setCommentAsArray, setPrimaryMemoryReference, setProperty, setProperty, setProperty, setProperty, setProperty, setRegisterReference, setStackReference, setTypedPropertyMethods inherited from interface ghidra.program.model.mem.MemBuffer
getAddress, getInputStream, getInputStream, getUnsignedByte, getUnsignedInt, getUnsignedShort, getVarLengthInt, getVarLengthUnsignedInt, isInitializedMemoryMethods inherited from interface ghidra.program.model.mem.MemBufferMixin
getBigInteger, getByte, getBytes, getBytes, getBytesInFull, getInt, getLong, getShortMethods inherited from interface ghidra.docking.settings.Settings
getDefaultSettings, getSuggestedValuesMethods inherited from interface ghidra.trace.model.listing.TraceCodeUnit
delete, getBounds, getBytes, getEndSnap, getLanguage, getLifespan, getPlatform, getRange, getStartSnap, getThread, setEndSnapMethods inherited from interface ghidra.trace.model.listing.TraceData
getComponent, getComponent, getComponentAt, getComponentContaining
-
Field Details
-
EMPTY_STRING_ARRAY
-
-
Method Details
-
getRoot
DBTraceDataAdapter getRoot()Description copied from interface:DataGet the highest level Data item in a hierarchy of structures containing this component. -
getValueReferences
Description copied from interface:DataGet the references for the value.- Specified by:
getValueReferencesin interfaceData- Specified by:
getValueReferencesin interfaceDataAdapterMinimal- Specified by:
getValueReferencesin interfaceTraceData- Returns:
- the references
-
addValueReference
Description copied from interface:DataAdd a memory reference to the value.- Specified by:
addValueReferencein interfaceData- Parameters:
refAddr- address referenced.type- the type of reference to be added.
-
removeValueReference
Description copied from interface:DataRemove a reference to the value.- Specified by:
removeValueReferencein interfaceData- Parameters:
refAddr- address of reference to be removed.
-
getSettingsSpace
Get the same space from the internal settings adapter- Parameters:
createIfAbsent- true to create the space if its not already present- Returns:
- the space or null
-
isChangeAllowed
Description copied from interface:SettingsDetermine if a settings change corresponding to the specified settingsDefinition is permitted.- Specified by:
isChangeAllowedin interfaceSettings- Parameters:
settingsDefinition- settings definition- Returns:
- true if change permitted else false
-
setLong
Description copied from interface:SettingsAssociates the given long value with the name. Note that an attempted setting change may be ignored if prohibited (e.g., immutable Settings, undefined setting name). -
getLong
Description copied from interface:SettingsGets the Long value associated with the given name -
setString
Description copied from interface:SettingsAssociates the given String value with the name. Note that an attempted setting change may be ignored if prohibited (e.g., immutable Settings, undefined setting name). -
getString
Description copied from interface:SettingsGets the String value associated with the given name -
setValue
Description copied from interface:SettingsAssociates the given object with the name. Note that an attempted setting change may be ignored if prohibited (e.g., immutable Settings, undefined setting name). -
getValue
Description copied from interface:SettingsGets the object associated with the given name -
clearSetting
Description copied from interface:SettingsRemoves any value associated with the given name- Specified by:
clearSettingin interfaceSettings- Parameters:
name- the key to remove any association
-
clearAllSettings
default void clearAllSettings()Description copied from interface:SettingsRemoves all name-value pairs from this settings object- Specified by:
clearAllSettingsin interfaceSettings
-
getNames
Description copied from interface:SettingsGet this list of keys that currently have values associated with them -
isEmpty
default boolean isEmpty()Description copied from interface:SettingsReturns true if there are no key-value pairs stored in this settings object. This is not a reflection of the underlying default settings which may still contain a key-value pair when this settings object is empty. -
getSettingsDefinition
- Specified by:
getSettingsDefinitionin interfaceDataAdapterFromSettings
-
hasMutability
default boolean hasMutability(int mutabilityType) - Specified by:
hasMutabilityin interfaceDataAdapterFromSettings
-
getPrimitiveAt
Description copied from interface:DataReturns the primitive component containing this offset (i.e., one that does not have sub-components). This is useful for data items which are made up of multiple layers of other data items. This method immediately goes to the lowest level data item. If the minimum offset of a component is specified, the only first component containing the offset will be considered (e.g., 0-element array).- Specified by:
getPrimitiveAtin interfaceData- Specified by:
getPrimitiveAtin interfaceTraceData- Parameters:
offset- the offset- Returns:
- primitive component containing this offset
-