FeatureMap

Detailed Description

Classes

class  FeatureMap
 

Class Documentation

◆ FeatureMap

class FeatureMap

Signals

void notifyThemeUpdated ()
 

Public Member Functions

 FeatureMap (SplitPaneWidget *owner, BinaryViewRef data, bool vertical=true)
 
virtual ~FeatureMap ()
 
void backgroundRefresh ()
 
std::pair< uint64_t, bool > getLinearOffsetForAddress (uint64_t addr)
 
void notifyOffsetChanged (uint64_t offset)
 
void notifyThemeChanged ()
 
void renderDataVariable (const BinaryNinja::DataVariable &var, bool ignoreString=false)
 
virtual void OnAnalysisFunctionAdded (BinaryNinja::BinaryView *data, BinaryNinja::Function *func) override
 
virtual void OnAnalysisFunctionRemoved (BinaryNinja::BinaryView *data, BinaryNinja::Function *func) override
 
virtual void OnAnalysisFunctionUpdated (BinaryNinja::BinaryView *data, BinaryNinja::Function *func) override
 
virtual void OnDataVariableAdded (BinaryNinja::BinaryView *data, const BinaryNinja::DataVariable &var) override
 
virtual void OnDataVariableRemoved (BinaryNinja::BinaryView *data, const BinaryNinja::DataVariable &var) override
 
virtual void OnDataVariableUpdated (BinaryNinja::BinaryView *data, const BinaryNinja::DataVariable &var) override
 
virtual void OnStringFound (BinaryNinja::BinaryView *data, BNStringType type, uint64_t offset, size_t len) override
 
virtual void OnStringRemoved (BinaryNinja::BinaryView *data, BNStringType type, uint64_t offset, size_t len) override
 
void drawImageRect (uint64_t addr, size_t len, uint8_t color)
 
virtual QSize sizeHint () const override
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdated (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View. More...
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history. More...
 
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone. More...
 
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone. More...
 
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased. More...
 

Static Public Member Functions

static int defaultWidth ()
 

Protected Member Functions

virtual void contextMenuEvent (QContextMenuEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void resizeEvent (QResizeEvent *event) override
 
virtual void paintEvent (QPaintEvent *event) override
 
void scrollTo (int x, int y, bool addHistoryEntry=false)
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryRemoved = 1ULL << 40 , ExternalLibraryUpdated = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationRemoved = 1ULL << 43 ,
  ExternalLocationUpdated = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , UndoEntryAdded = 1ULL << 49 , UndoEntryTaken = 1ULL << 50 , RedoEntryTaken = 1ULL << 51 ,
  Rebased = 1ULL << 52 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , ExternalLibraryLifetime = ExternalLibraryAdded | ExternalLibraryRemoved , ExternalLibraryUpdates = ExternalLibraryLifetime | ExternalLibraryUpdated ,
  ExternalLocationLifetime = ExternalLocationAdded | ExternalLocationRemoved , ExternalLocationUpdates = ExternalLocationLifetime | ExternalLocationUpdated , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected , UndoUpdates = UndoEntryAdded | UndoEntryTaken | RedoEntryTaken
}
 
using NotificationTypes = uint64_t
 

Constructor & Destructor Documentation

◆ FeatureMap()

FeatureMap::FeatureMap ( SplitPaneWidget owner,
BinaryViewRef  data,
bool  vertical = true 
)

◆ ~FeatureMap()

virtual FeatureMap::~FeatureMap ( )
virtual

Member Function Documentation

◆ backgroundRefresh()

void FeatureMap::backgroundRefresh ( )

◆ getLinearOffsetForAddress()

std::pair< uint64_t, bool > FeatureMap::getLinearOffsetForAddress ( uint64_t  addr)

◆ notifyOffsetChanged()

void FeatureMap::notifyOffsetChanged ( uint64_t  offset)

◆ notifyThemeChanged()

void FeatureMap::notifyThemeChanged ( )

◆ renderDataVariable()

void FeatureMap::renderDataVariable ( const BinaryNinja::DataVariable var,
bool  ignoreString = false 
)

◆ OnAnalysisFunctionAdded()

virtual void FeatureMap::OnAnalysisFunctionAdded ( BinaryNinja::BinaryView data,
BinaryNinja::Function func 
)
overridevirtual

◆ OnAnalysisFunctionRemoved()

virtual void FeatureMap::OnAnalysisFunctionRemoved ( BinaryNinja::BinaryView data,
BinaryNinja::Function func 
)
overridevirtual

◆ OnAnalysisFunctionUpdated()

virtual void FeatureMap::OnAnalysisFunctionUpdated ( BinaryNinja::BinaryView data,
BinaryNinja::Function func 
)
overridevirtual

◆ OnDataVariableAdded()

virtual void FeatureMap::OnDataVariableAdded ( BinaryNinja::BinaryView data,
const BinaryNinja::DataVariable var 
)
overridevirtual

◆ OnDataVariableRemoved()

virtual void FeatureMap::OnDataVariableRemoved ( BinaryNinja::BinaryView data,
const BinaryNinja::DataVariable var 
)
overridevirtual

◆ OnDataVariableUpdated()

virtual void FeatureMap::OnDataVariableUpdated ( BinaryNinja::BinaryView data,
const BinaryNinja::DataVariable var 
)
overridevirtual

◆ OnStringFound()

virtual void FeatureMap::OnStringFound ( BinaryNinja::BinaryView data,
BNStringType  type,
uint64_t  offset,
size_t  len 
)
overridevirtual

◆ OnStringRemoved()

virtual void FeatureMap::OnStringRemoved ( BinaryNinja::BinaryView data,
BNStringType  type,
uint64_t  offset,
size_t  len 
)
overridevirtual

◆ drawImageRect()

void FeatureMap::drawImageRect ( uint64_t  addr,
size_t  len,
uint8_t  color 
)

◆ sizeHint()

virtual QSize FeatureMap::sizeHint ( ) const
overridevirtual

◆ defaultWidth()

static int FeatureMap::defaultWidth ( )
inlinestatic

◆ contextMenuEvent()

virtual void FeatureMap::contextMenuEvent ( QContextMenuEvent *  event)
overrideprotectedvirtual

◆ mouseMoveEvent()

virtual void FeatureMap::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ mousePressEvent()

virtual void FeatureMap::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ resizeEvent()

virtual void FeatureMap::resizeEvent ( QResizeEvent *  event)
overrideprotectedvirtual

◆ paintEvent()

virtual void FeatureMap::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

◆ scrollTo()

void FeatureMap::scrollTo ( int  x,
int  y,
bool  addHistoryEntry = false 
)
protected

◆ notifyThemeUpdated

void FeatureMap::notifyThemeUpdated ( )
signal