Package ghidra.trace.util
Interface TraceEvent<T,U>
- Type Parameters:
T- the type of the object changedU- the type of the value
- All Superinterfaces:
EventType
- All Known Implementing Classes:
TraceEvent.TraceBookmarkEvent,TraceEvent.TraceBookmarkLifespanEvent,TraceEvent.TraceBookmarkTypeEvent,TraceEvent.TraceBreakpointEvent,TraceEvent.TraceBreakpointLifespanEvent,TraceEvent.TraceBytesEvent,TraceEvent.TraceCodeDataSettingsEvent,TraceEvent.TraceCodeDataTypeEvent,TraceEvent.TraceCodeEvent,TraceEvent.TraceCodeFragmentEvent,TraceEvent.TraceCodeLifespanEvent,TraceEvent.TraceCommentEvent,TraceEvent.TraceCompositeDataEvent,TraceEvent.TraceCompositeDataLifespanEvent,TraceEvent.TraceDataTypeEvent,TraceEvent.TraceDataTypePathEvent,TraceEvent.TraceDataTypeStringEvent,TraceEvent.TraceInstructionBoolEvent,TraceEvent.TraceInstructionFlowEvent,TraceEvent.TraceInstructionIntEvent,TraceEvent.TraceMappingEvent,TraceEvent.TraceMemoryRegionEvent,TraceEvent.TraceMemoryRegionLifespanEvent,TraceEvent.TraceMemoryStateEvent,TraceEvent.TraceModuleEvent,TraceEvent.TraceModuleLifespanEvent,TraceEvent.TraceObjectEvent,TraceEvent.TraceObjectValueEvent,TraceEvent.TraceObjectValueLifespanEvent,TraceEvent.TraceOverlaySpaceEvent,TraceEvent.TracePlatformEvent,TraceEvent.TracePlatformMappingEvent,TraceEvent.TraceReferenceBoolEvent,TraceEvent.TraceReferenceEvent,TraceEvent.TraceReferenceLifespanEvent,TraceEvent.TraceSectionEvent,TraceEvent.TraceSnapshotEvent,TraceEvent.TraceStackEvent,TraceEvent.TraceStackLongEvent,TraceEvent.TraceSymbolAddressEvent,TraceEvent.TraceSymbolEvent,TraceEvent.TraceSymbolLifespanEvent,TraceEvent.TraceSymbolNamespaceEvent,TraceEvent.TraceSymbolRefEvent,TraceEvent.TraceSymbolSourceEvent,TraceEvent.TraceSymbolStringEvent,TraceEvent.TraceSymbolSymEvent,TraceEvent.TraceThreadEvent,TraceEvent.TraceThreadLifespanEvent,TraceEvent.TraceTypeArchiveEvent,TraceEvent.TraceTypeCategoryEvent,TraceEvent.TraceTypeCategoryPathEvent,TraceEvent.TraceTypeCategoryStringEvent
A sub-type for event specific to traces.
For the various defined events, see TraceEvents.
This interface introduces two type parameters, which are provided by each trace event enum. They
describe the type of the effected object, e.g., a thread, as well as the type of the changed
value, e.g., its lifespan. These are can be enforced by using TraceChangeRecord. Its
constructors will ensure that the affected object and values actually match the types for the
given trace event. Conversely, by using TraceDomainObjectListener and registering
handlers for each event type, it will ensure each handler method accepts arguments of the correct
types. See, e.g., TypedEventDispatcher.listenFor(TraceEvent, FullEventRecordHandler).
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enumstatic enum -
Method Summary
Modifier and TypeMethodDescriptiondefault TraceChangeRecord<T, U> Cast a change record to one with object/affected value types for this event
-
Method Details
-
cast
Cast a change record to one with object/affected value types for this event- Parameters:
rec- the untyped record- Returns:
- the typed record
-