TypeBrowserModelData Class Reference

Cursed data struct behind a shared_ptr so Qt stops deleting our model while the background updates run. More...

Detailed Description

Cursed data struct behind a shared_ptr so Qt stops deleting our model while the background updates run.

Public Member Functions

 TypeBrowserModelData (BinaryViewRef data)
 
 ~TypeBrowserModelData ()
 
 TypeBrowserModelData (const TypeBrowserModelData &)=delete
 
 TypeBrowserModelData (TypeBrowserModelData &&)=delete
 
TypeBrowserModelDataoperator= (const TypeBrowserModelData &)=delete
 
TypeBrowserModelDataoperator= (TypeBrowserModelData &&)=delete
 
BinaryViewRef getData ()
 
std::shared_ptr< TypeBrowserTreeNodegetRootNode ()
 
std::vector< std::string > containerIds () 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< BinaryViewRefviewForContainerId (const std::string &id) const
 
std::optional< TypeArchiveRefarchiveForContainerId (const std::string &id) const
 
std::optional< std::string > archiveIdForContainerId (const std::string &id) const
 
std::optional< TypeLibraryReflibraryForContainerId (const std::string &id) const
 
std::optional< DebugInfoRefdebugInfoForContainerId (const std::string &id) const
 
std::optional< PlatformRefplatformForContainerId (const std::string &id) const
 
void addAllContainersForView (BinaryViewRef view)
 
void addContainerForView (BinaryViewRef view)
 
void addUserContainerForView (BinaryViewRef view)
 
void addAutoContainerForView (BinaryViewRef view)
 
void addContainerForArchive (TypeArchiveRef archive)
 
void addContainerForArchiveId (const std::string &archiveId, const std::string &path)
 
void addContainerForLibrary (TypeLibraryRef library)
 
void addContainerForDebugInfo (DebugInfoRef debugInfo, const std::string &parser)
 
void addContainerForPlatform (PlatformRef platform)
 
void clearContainers ()
 
std::vector< std::shared_ptr< TypeContainerTreeNode > > containerNodes () const
 

Friends

class TypeBrowserModel
 

Constructor & Destructor Documentation

◆ TypeBrowserModelData() [1/3]

TypeBrowserModelData::TypeBrowserModelData ( BinaryViewRef  data)
explicit

◆ ~TypeBrowserModelData()

TypeBrowserModelData::~TypeBrowserModelData ( )

◆ TypeBrowserModelData() [2/3]

TypeBrowserModelData::TypeBrowserModelData ( const TypeBrowserModelData )
delete

◆ TypeBrowserModelData() [3/3]

TypeBrowserModelData::TypeBrowserModelData ( TypeBrowserModelData &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

TypeBrowserModelData & TypeBrowserModelData::operator= ( const TypeBrowserModelData )
delete

◆ operator=() [2/2]

TypeBrowserModelData & TypeBrowserModelData::operator= ( TypeBrowserModelData &&  )
delete

◆ getData()

BinaryViewRef TypeBrowserModelData::getData ( )

◆ getRootNode()

std::shared_ptr< TypeBrowserTreeNode > TypeBrowserModelData::getRootNode ( )

◆ containerIds()

std::vector< std::string > TypeBrowserModelData::containerIds ( ) const

◆ nameForContainerId()

std::string TypeBrowserModelData::nameForContainerId ( const std::string &  id) const

◆ containerForContainerId() [1/2]

std::optional< std::reference_wrapper< BinaryNinja::TypeContainer > > TypeBrowserModelData::containerForContainerId ( const std::string &  id)

◆ containerForContainerId() [2/2]

std::optional< std::reference_wrapper< const BinaryNinja::TypeContainer > > TypeBrowserModelData::containerForContainerId ( const std::string &  id) const

◆ viewForContainerId()

std::optional< BinaryViewRef > TypeBrowserModelData::viewForContainerId ( const std::string &  id) const

◆ archiveForContainerId()

std::optional< TypeArchiveRef > TypeBrowserModelData::archiveForContainerId ( const std::string &  id) const

◆ archiveIdForContainerId()

std::optional< std::string > TypeBrowserModelData::archiveIdForContainerId ( const std::string &  id) const

◆ libraryForContainerId()

std::optional< TypeLibraryRef > TypeBrowserModelData::libraryForContainerId ( const std::string &  id) const

◆ debugInfoForContainerId()

std::optional< DebugInfoRef > TypeBrowserModelData::debugInfoForContainerId ( const std::string &  id) const

◆ platformForContainerId()

std::optional< PlatformRef > TypeBrowserModelData::platformForContainerId ( const std::string &  id) const

◆ addAllContainersForView()

void TypeBrowserModelData::addAllContainersForView ( BinaryViewRef  view)

◆ addContainerForView()

void TypeBrowserModelData::addContainerForView ( BinaryViewRef  view)

◆ addUserContainerForView()

void TypeBrowserModelData::addUserContainerForView ( BinaryViewRef  view)

◆ addAutoContainerForView()

void TypeBrowserModelData::addAutoContainerForView ( BinaryViewRef  view)

◆ addContainerForArchive()

void TypeBrowserModelData::addContainerForArchive ( TypeArchiveRef  archive)

◆ addContainerForArchiveId()

void TypeBrowserModelData::addContainerForArchiveId ( const std::string &  archiveId,
const std::string &  path 
)

◆ addContainerForLibrary()

void TypeBrowserModelData::addContainerForLibrary ( TypeLibraryRef  library)

◆ addContainerForDebugInfo()

void TypeBrowserModelData::addContainerForDebugInfo ( DebugInfoRef  debugInfo,
const std::string &  parser 
)

◆ addContainerForPlatform()

void TypeBrowserModelData::addContainerForPlatform ( PlatformRef  platform)

◆ clearContainers()

void TypeBrowserModelData::clearContainers ( )

◆ containerNodes()

std::vector< std::shared_ptr< TypeContainerTreeNode > > TypeBrowserModelData::containerNodes ( ) const

Friends And Related Function Documentation

◆ TypeBrowserModel

friend class TypeBrowserModel
friend