pub trait CustomDataNotification: Sync + Send {
Show 54 methods
// Provided methods
fn notification_barrier(&mut self, view: &BinaryView) -> u64 { ... }
fn data_written(&mut self, view: &BinaryView, offset: u64, len: usize) { ... }
fn data_inserted(&mut self, view: &BinaryView, offset: u64, len: usize) { ... }
fn data_removed(&mut self, view: &BinaryView, offset: u64, len: u64) { ... }
fn function_added(&mut self, view: &BinaryView, func: &Function) { ... }
fn function_removed(&mut self, view: &BinaryView, func: &Function) { ... }
fn function_updated(&mut self, view: &BinaryView, func: &Function) { ... }
fn function_update_requested(&mut self, view: &BinaryView, func: &Function) { ... }
fn data_variable_added(&mut self, view: &BinaryView, var: &DataVariable) { ... }
fn data_variable_removed(&mut self, view: &BinaryView, var: &DataVariable) { ... }
fn data_variable_updated(&mut self, view: &BinaryView, var: &DataVariable) { ... }
fn data_metadata_updated(&mut self, view: &BinaryView, offset: u64) { ... }
fn tag_type_updated(&mut self, view: &BinaryView, tag_type: &TagType) { ... }
fn tag_added(&mut self, view: &BinaryView, tag_ref: &TagReference) { ... }
fn tag_removed(&mut self, view: &BinaryView, tag_ref: &TagReference) { ... }
fn tag_updated(&mut self, view: &BinaryView, tag_ref: &TagReference) { ... }
fn symbol_added(&mut self, view: &BinaryView, sym: &Symbol) { ... }
fn symbol_removed(&mut self, view: &BinaryView, sym: &Symbol) { ... }
fn symbol_updated(&mut self, view: &BinaryView, sym: &Symbol) { ... }
fn string_found(
&mut self,
view: &BinaryView,
type_: StringType,
offset: u64,
len: usize,
) { ... }
fn string_removed(
&mut self,
view: &BinaryView,
type_: StringType,
offset: u64,
len: usize,
) { ... }
fn type_defined(
&mut self,
view: &BinaryView,
name: &QualifiedName,
type_: &Type,
) { ... }
fn type_undefined(
&mut self,
view: &BinaryView,
name: &QualifiedName,
type_: &Type,
) { ... }
fn type_reference_changed(
&mut self,
view: &BinaryView,
name: &QualifiedName,
type_: &Type,
) { ... }
fn type_field_reference_changed(
&mut self,
view: &BinaryView,
name: &QualifiedName,
offset: u64,
) { ... }
fn segment_added(&mut self, view: &BinaryView, segment: &Segment) { ... }
fn segment_removed(&mut self, view: &BinaryView, segment: &Segment) { ... }
fn segment_updated(&mut self, view: &BinaryView, segment: &Segment) { ... }
fn section_added(&mut self, view: &BinaryView, section: &Section) { ... }
fn section_removed(&mut self, view: &BinaryView, section: &Section) { ... }
fn section_updated(&mut self, view: &BinaryView, section: &Section) { ... }
fn component_name_updated(
&mut self,
view: &BinaryView,
previous_name: &str,
component: &Component,
) { ... }
fn component_added(&mut self, view: &BinaryView, component: &Component) { ... }
fn component_moved(
&mut self,
view: &BinaryView,
former_parent: &Component,
new_parent: &Component,
component: &Component,
) { ... }
fn component_removed(
&mut self,
view: &BinaryView,
former_parent: &Component,
component: &Component,
) { ... }
fn component_function_added(
&mut self,
view: &BinaryView,
component: &Component,
function: &Function,
) { ... }
fn component_function_removed(
&mut self,
view: &BinaryView,
component: &Component,
function: &Function,
) { ... }
fn component_data_variable_added(
&mut self,
view: &BinaryView,
component: &Component,
var: &DataVariable,
) { ... }
fn component_data_variable_removed(
&mut self,
view: &BinaryView,
component: &Component,
var: &DataVariable,
) { ... }
fn external_library_added(
&mut self,
data: &BinaryView,
library: &ExternalLibrary,
) { ... }
fn external_library_updated(
&mut self,
data: &BinaryView,
library: &ExternalLibrary,
) { ... }
fn external_library_removed(
&mut self,
data: &BinaryView,
library: &ExternalLibrary,
) { ... }
fn external_location_added(
&mut self,
data: &BinaryView,
location: &ExternalLocation,
) { ... }
fn external_location_updated(
&mut self,
data: &BinaryView,
location: &ExternalLocation,
) { ... }
fn external_location_removed(
&mut self,
data: &BinaryView,
location: &ExternalLocation,
) { ... }
fn type_archive_attached(
&mut self,
view: &BinaryView,
id: &str,
path: &[u8],
) { ... }
fn type_archive_detached(
&mut self,
view: &BinaryView,
id: &str,
path: &[u8],
) { ... }
fn type_archive_connected(
&mut self,
view: &BinaryView,
archive: &TypeArchive,
) { ... }
fn type_archive_disconnected(
&mut self,
view: &BinaryView,
archive: &TypeArchive,
) { ... }
fn undo_entry_added(&mut self, view: &BinaryView, entry: &UndoEntry) { ... }
fn undo_entry_taken(&mut self, view: &BinaryView, entry: &UndoEntry) { ... }
fn redo_entry_taken(&mut self, view: &BinaryView, entry: &UndoEntry) { ... }
fn rebased(&mut self, oldview: &BinaryView, newview: &BinaryView) { ... }
fn register<'a>(
self,
view: &BinaryView,
triggers: DataNotificationTriggers,
) -> DataNotificationHandle<'a, Self>
where Self: 'a + Sized { ... }
}Provided Methods§
fn notification_barrier(&mut self, view: &BinaryView) -> u64
fn data_written(&mut self, view: &BinaryView, offset: u64, len: usize)
fn data_inserted(&mut self, view: &BinaryView, offset: u64, len: usize)
fn data_removed(&mut self, view: &BinaryView, offset: u64, len: u64)
fn function_added(&mut self, view: &BinaryView, func: &Function)
fn function_removed(&mut self, view: &BinaryView, func: &Function)
fn function_updated(&mut self, view: &BinaryView, func: &Function)
fn function_update_requested(&mut self, view: &BinaryView, func: &Function)
fn data_variable_added(&mut self, view: &BinaryView, var: &DataVariable)
fn data_variable_removed(&mut self, view: &BinaryView, var: &DataVariable)
fn data_variable_updated(&mut self, view: &BinaryView, var: &DataVariable)
fn data_metadata_updated(&mut self, view: &BinaryView, offset: u64)
fn tag_type_updated(&mut self, view: &BinaryView, tag_type: &TagType)
fn tag_added(&mut self, view: &BinaryView, tag_ref: &TagReference)
fn tag_removed(&mut self, view: &BinaryView, tag_ref: &TagReference)
fn tag_updated(&mut self, view: &BinaryView, tag_ref: &TagReference)
fn symbol_added(&mut self, view: &BinaryView, sym: &Symbol)
fn symbol_removed(&mut self, view: &BinaryView, sym: &Symbol)
fn symbol_updated(&mut self, view: &BinaryView, sym: &Symbol)
fn string_found( &mut self, view: &BinaryView, type_: StringType, offset: u64, len: usize, )
fn string_removed( &mut self, view: &BinaryView, type_: StringType, offset: u64, len: usize, )
fn type_defined( &mut self, view: &BinaryView, name: &QualifiedName, type_: &Type, )
fn type_undefined( &mut self, view: &BinaryView, name: &QualifiedName, type_: &Type, )
fn type_reference_changed( &mut self, view: &BinaryView, name: &QualifiedName, type_: &Type, )
fn type_field_reference_changed( &mut self, view: &BinaryView, name: &QualifiedName, offset: u64, )
fn segment_added(&mut self, view: &BinaryView, segment: &Segment)
fn segment_removed(&mut self, view: &BinaryView, segment: &Segment)
fn segment_updated(&mut self, view: &BinaryView, segment: &Segment)
fn section_added(&mut self, view: &BinaryView, section: &Section)
fn section_removed(&mut self, view: &BinaryView, section: &Section)
fn section_updated(&mut self, view: &BinaryView, section: &Section)
fn component_name_updated( &mut self, view: &BinaryView, previous_name: &str, component: &Component, )
fn component_added(&mut self, view: &BinaryView, component: &Component)
fn component_moved( &mut self, view: &BinaryView, former_parent: &Component, new_parent: &Component, component: &Component, )
fn component_removed( &mut self, view: &BinaryView, former_parent: &Component, component: &Component, )
fn component_function_added( &mut self, view: &BinaryView, component: &Component, function: &Function, )
fn component_function_removed( &mut self, view: &BinaryView, component: &Component, function: &Function, )
fn component_data_variable_added( &mut self, view: &BinaryView, component: &Component, var: &DataVariable, )
fn component_data_variable_removed( &mut self, view: &BinaryView, component: &Component, var: &DataVariable, )
fn external_library_added( &mut self, data: &BinaryView, library: &ExternalLibrary, )
fn external_library_updated( &mut self, data: &BinaryView, library: &ExternalLibrary, )
fn external_library_removed( &mut self, data: &BinaryView, library: &ExternalLibrary, )
fn external_location_added( &mut self, data: &BinaryView, location: &ExternalLocation, )
fn external_location_updated( &mut self, data: &BinaryView, location: &ExternalLocation, )
fn external_location_removed( &mut self, data: &BinaryView, location: &ExternalLocation, )
fn type_archive_attached(&mut self, view: &BinaryView, id: &str, path: &[u8])
fn type_archive_detached(&mut self, view: &BinaryView, id: &str, path: &[u8])
fn type_archive_connected(&mut self, view: &BinaryView, archive: &TypeArchive)
fn type_archive_disconnected( &mut self, view: &BinaryView, archive: &TypeArchive, )
fn undo_entry_added(&mut self, view: &BinaryView, entry: &UndoEntry)
fn undo_entry_taken(&mut self, view: &BinaryView, entry: &UndoEntry)
fn redo_entry_taken(&mut self, view: &BinaryView, entry: &UndoEntry)
fn rebased(&mut self, oldview: &BinaryView, newview: &BinaryView)
fn register<'a>(
self,
view: &BinaryView,
triggers: DataNotificationTriggers,
) -> DataNotificationHandle<'a, Self>where
Self: 'a + Sized,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".