Binary Ninja API C++: TypeBrowserModel Class Reference
Public Member Functions
TypeBrowserModel (BinaryViewRef data, QObject *parent) virtual ~TypeBrowserModel () BinaryViewRef getData () std::shared_ptr< TypeBrowserTreeNode > getRootNode () std::vector< std::string > containerIds () const std::vector< std::shared_ptr< TypeContainerTreeNode > > containerNodes () const std::string nameForContainerId (const std::string &id) const std::optional< std::reference_wrapper< BinaryNinja::TypeContainer > > containerForContainerId (const std::string &id) std::optional< std::reference_wrapper< const BinaryNinja::TypeContainer > > containerForContainerId (const std::string &id) const std::optional< BinaryViewRef > viewForContainerId (const std::string &id) const std::optional< TypeArchiveRef > archiveForContainerId (const std::string &id) const std::optional< std::string > archiveIdForContainerId (const std::string &id) const std::optional< TypeLibraryRef > libraryForContainerId (const std::string &id) const std::optional< DebugInfoRef > debugInfoForContainerId (const std::string &id) const std::optional< PlatformRef > platformForContainerId (const std::string &id) const void updateFonts () void runAfterUpdate (std::function< void()> callback) int columnCount (const QModelIndex &parent=QModelIndex()) const override int rowCount (const QModelIndex &parent=QModelIndex()) const override QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override QModelIndex parent (const QModelIndex &child) const override QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override std::shared_ptr< TypeBrowserTreeNode > nodeForIndex (const QModelIndex &index) const QModelIndex indexForNode (std::shared_ptr< TypeBrowserTreeNode > node, int column=0) const bool filter (const QModelIndex &index, const std::string &filter, TypeBrowserFilterMode mode) const bool lessThan (const QModelIndex &left, const QModelIndex &right) const void OnTypeDefined (BinaryNinja::BinaryView *data, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override void OnTypeUndefined (BinaryNinja::BinaryView *data, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override void OnTypeReferenceChanged (BinaryNinja::BinaryView *data, const BinaryNinja::QualifiedName &name, BinaryNinja::Type *type) override void OnTypeFieldReferenceChanged (BinaryNinja::BinaryView *data, const BinaryNinja::QualifiedName &name, uint64_t offset) override void OnTypeAdded (TypeArchiveRef archive, const std::string &id, TypeRef definition) override Called when a type is added to the archive.void OnTypeUpdated (TypeArchiveRef archive, const std::string &id, TypeRef oldDefinition, TypeRef newDefinition) override Called when a type in the archive is updated to a new definition.
void OnTypeRenamed (TypeArchiveRef archive, const std::string &id, const BinaryNinja::QualifiedName &oldName, const BinaryNinja::QualifiedName &newName) override Called when a type in the archive is renamed.
void OnTypeDeleted (TypeArchiveRef archive, const std::string &id, TypeRef definition) override Called when a type in the archive is deleted from the archive.
void OnTypeArchiveAttached (BinaryNinja::BinaryView *data, const std::string &id, const std::string &path) override This notification is posted whenever a Type Archive is attached to a Binary View.
void OnTypeArchiveDetached (BinaryNinja::BinaryView *data, const std::string &id, const std::string &path) override This notification is posted whenever a Type Archive is detached to a Binary View.
void OnTypeArchiveConnected (BinaryNinja::BinaryView *data, BinaryNinja::TypeArchive *archive) override This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected.
void OnTypeArchiveDisconnected (BinaryNinja::BinaryView *data, BinaryNinja::TypeArchive *archive) override This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected.
Public Member Functions inherited from BinaryNinja::BinaryDataNotification BinaryDataNotification () BinaryDataNotification (NotificationTypes notifications) virtual ~BinaryDataNotification () BNBinaryDataNotification * GetCallbacks () 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 OnDerivedStringFound (BinaryView *data, const DerivedString &str) virtual void OnDerivedStringRemoved (BinaryView *data, const DerivedString &str) 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.
virtual void OnComponentAdded (BinaryView *data, Component *component) This notification is posted after a Component is added to the tree.
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component) This notification is posted after a Component is removed from the tree.
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.
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function) This notification is posted whenever a Function is added to a Component.
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function) This notification is posted whenever a Function is removed from a Component.
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var) This notification is posted whenever a DataVariable is added to a Component.
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var) This notification is posted whenever a DataVariable is removed from a Component.
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 OnUndoEntryAdded (BinaryView *data, UndoEntry *entry) This notification is posted whenever an entry is added to undo history.
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry) This notification is posted whenever an action is undone.
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry) This notification is posted whenever an action is redone.
virtual void OnRebased (BinaryView *oldView, BinaryView *newView) This notification is posted whenever a binary view is rebased.
Public Member Functions inherited from BinaryNinja::TypeArchiveNotification TypeArchiveNotification () virtual ~TypeArchiveNotification ()=default BNTypeArchiveNotification * GetCallbacks ()
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 , DerivedStringFound = 1ULL << 53 , DerivedStringRemoved = 1ULL << 54 , 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 | DerivedStringFound | DerivedStringRemoved , 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