BinaryNinja::BinaryViewType Class Referenceabstract

Public Member Functions

 BinaryViewType (const std::string &name, const std::string &longName)
 
virtual ~BinaryViewType ()
 
void RegisterArchitecture (uint32_t id, BNEndianness endian, Architecture *arch)
 
Ref< ArchitectureGetArchitecture (uint32_t id, BNEndianness endian)
 
void RegisterPlatform (uint32_t id, Architecture *arch, Platform *platform)
 
void RegisterDefaultPlatform (Architecture *arch, Platform *platform)
 
Ref< PlatformGetPlatform (uint32_t id, Architecture *arch)
 
void RegisterPlatformRecognizer (uint64_t id, BNEndianness endian, const std::function< Ref< Platform >(BinaryView *view, Metadata *)> &callback)
 
Ref< PlatformRecognizePlatform (uint64_t id, BNEndianness endian, BinaryView *view, Metadata *metadata)
 
std::string GetName ()
 
std::string GetLongName ()
 
virtual bool IsDeprecated ()
 
virtual BinaryViewCreate (BinaryView *data)=0
 
virtual BinaryViewParse (BinaryView *data)=0
 
virtual bool IsTypeValidForData (BinaryView *data)=0
 
virtual Ref< SettingsGetLoadSettingsForData (BinaryView *data)=0
 
- Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNBinaryViewType >
 StaticCoreRefCountObject ()
 
virtual ~StaticCoreRefCountObject ()
 
BNBinaryViewType * GetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 

Static Public Member Functions

static void Register (BinaryViewType *type)
 
static Ref< BinaryViewTypeGetByName (const std::string &name)
 
static std::vector< Ref< BinaryViewType > > GetViewTypes ()
 
static std::vector< Ref< BinaryViewType > > GetViewTypesForData (BinaryView *data)
 
static void RegisterArchitecture (const std::string &name, uint32_t id, BNEndianness endian, Architecture *arch)
 
static void RegisterPlatform (const std::string &name, uint32_t id, Architecture *arch, Platform *platform)
 
static void RegisterDefaultPlatform (const std::string &name, Architecture *arch, Platform *platform)
 
static void RegisterBinaryViewFinalizationEvent (const std::function< void(BinaryView *view)> &callback)
 
static void RegisterBinaryViewInitialAnalysisCompletionEvent (const std::function< void(BinaryView *view)> &callback)
 
static void BinaryViewEventCallback (void *ctxt, BNBinaryView *view)
 
static BNPlatform * PlatformRecognizerCallback (void *ctxt, BNBinaryView *view, BNMetadata *metadata)
 
- Static Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNBinaryViewType >
static BNBinaryViewType * GetObject (StaticCoreRefCountObject *obj)
 

Protected Member Functions

 BinaryViewType (BNBinaryViewType *type)
 

Static Protected Member Functions

static BNBinaryView * CreateCallback (void *ctxt, BNBinaryView *data)
 
static BNBinaryView * ParseCallback (void *ctxt, BNBinaryView *data)
 
static bool IsValidCallback (void *ctxt, BNBinaryView *data)
 
static bool IsDeprecatedCallback (void *ctxt)
 
static BNSettings * GetSettingsCallback (void *ctxt, BNBinaryView *data)
 

Protected Attributes

std::string m_nameForRegister
 
std::string m_longNameForRegister
 

Additional Inherited Members

- Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNBinaryViewType >
std::atomic< int > m_refs
 
BNBinaryViewType * m_object
 

Constructor & Destructor Documentation

◆ BinaryViewType() [1/2]

BinaryViewType::BinaryViewType ( BNBinaryViewType *  type)
protected

◆ BinaryViewType() [2/2]

BinaryNinja::BinaryViewType::BinaryViewType ( const std::string &  name,
const std::string &  longName 
)

◆ ~BinaryViewType()

virtual BinaryNinja::BinaryViewType::~BinaryViewType ( )
inlinevirtual

Member Function Documentation

◆ BinaryViewEventCallback()

void BinaryViewType::BinaryViewEventCallback ( void *  ctxt,
BNBinaryView *  view 
)
static

◆ Create()

virtual BinaryView * BinaryNinja::BinaryViewType::Create ( BinaryView data)
pure virtual

◆ CreateCallback()

BNBinaryView * BinaryViewType::CreateCallback ( void *  ctxt,
BNBinaryView *  data 
)
staticprotected

◆ GetArchitecture()

Ref< Architecture > BinaryViewType::GetArchitecture ( uint32_t  id,
BNEndianness  endian 
)

◆ GetByName()

Ref< BinaryViewType > BinaryViewType::GetByName ( const std::string &  name)
static

◆ GetLoadSettingsForData()

virtual Ref< Settings > BinaryNinja::BinaryViewType::GetLoadSettingsForData ( BinaryView data)
pure virtual

◆ GetLongName()

string BinaryViewType::GetLongName ( )

◆ GetName()

string BinaryViewType::GetName ( )

◆ GetPlatform()

Ref< Platform > BinaryViewType::GetPlatform ( uint32_t  id,
Architecture arch 
)

◆ GetSettingsCallback()

BNSettings * BinaryViewType::GetSettingsCallback ( void *  ctxt,
BNBinaryView *  data 
)
staticprotected

◆ GetViewTypes()

vector< Ref< BinaryViewType > > BinaryViewType::GetViewTypes ( )
static

◆ GetViewTypesForData()

vector< Ref< BinaryViewType > > BinaryViewType::GetViewTypesForData ( BinaryView data)
static

◆ IsDeprecated()

bool BinaryViewType::IsDeprecated ( )
virtual

◆ IsDeprecatedCallback()

bool BinaryViewType::IsDeprecatedCallback ( void *  ctxt)
staticprotected

◆ IsTypeValidForData()

virtual bool BinaryNinja::BinaryViewType::IsTypeValidForData ( BinaryView data)
pure virtual

◆ IsValidCallback()

bool BinaryViewType::IsValidCallback ( void *  ctxt,
BNBinaryView *  data 
)
staticprotected

◆ Parse()

virtual BinaryView * BinaryNinja::BinaryViewType::Parse ( BinaryView data)
pure virtual

◆ ParseCallback()

BNBinaryView * BinaryViewType::ParseCallback ( void *  ctxt,
BNBinaryView *  data 
)
staticprotected

◆ PlatformRecognizerCallback()

BNPlatform * BinaryViewType::PlatformRecognizerCallback ( void *  ctxt,
BNBinaryView *  view,
BNMetadata *  metadata 
)
static

◆ RecognizePlatform()

Ref< Platform > BinaryViewType::RecognizePlatform ( uint64_t  id,
BNEndianness  endian,
BinaryView view,
Metadata metadata 
)

◆ Register()

void BinaryViewType::Register ( BinaryViewType type)
static

◆ RegisterArchitecture() [1/2]

static void BinaryNinja::BinaryViewType::RegisterArchitecture ( const std::string &  name,
uint32_t  id,
BNEndianness  endian,
Architecture arch 
)
static

◆ RegisterArchitecture() [2/2]

void BinaryViewType::RegisterArchitecture ( uint32_t  id,
BNEndianness  endian,
Architecture arch 
)

◆ RegisterBinaryViewFinalizationEvent()

void BinaryViewType::RegisterBinaryViewFinalizationEvent ( const std::function< void(BinaryView *view)> &  callback)
static

◆ RegisterBinaryViewInitialAnalysisCompletionEvent()

void BinaryViewType::RegisterBinaryViewInitialAnalysisCompletionEvent ( const std::function< void(BinaryView *view)> &  callback)
static

◆ RegisterDefaultPlatform() [1/2]

void BinaryViewType::RegisterDefaultPlatform ( Architecture arch,
Platform platform 
)

◆ RegisterDefaultPlatform() [2/2]

static void BinaryNinja::BinaryViewType::RegisterDefaultPlatform ( const std::string &  name,
Architecture arch,
Platform platform 
)
static

◆ RegisterPlatform() [1/2]

static void BinaryNinja::BinaryViewType::RegisterPlatform ( const std::string &  name,
uint32_t  id,
Architecture arch,
Platform platform 
)
static

◆ RegisterPlatform() [2/2]

void BinaryViewType::RegisterPlatform ( uint32_t  id,
Architecture arch,
Platform platform 
)

◆ RegisterPlatformRecognizer()

void BinaryViewType::RegisterPlatformRecognizer ( uint64_t  id,
BNEndianness  endian,
const std::function< Ref< Platform >(BinaryView *view, Metadata *)> &  callback 
)

Member Data Documentation

◆ m_longNameForRegister

std::string BinaryNinja::BinaryViewType::m_longNameForRegister
protected

◆ m_nameForRegister

std::string BinaryNinja::BinaryViewType::m_nameForRegister
protected

The documentation for this class was generated from the following files: