Loading...
Searching...
No Matches
BinaryNinja::SimilaritySessionReceiver Class Reference

Receives session-start and entity-batch notifications. More...

Detailed Description

Receives session-start and entity-batch notifications.

C++ implementations must be thread safe. NotifyStart is called before Run returns. NotifyBatch runs on workers and may overlap across nodes and sessions. Receivers are observers and must not schedule work or mutate the active session.

Public Member Functions

 SimilaritySessionReceiver ()
 SimilaritySessionReceiver (BNSimilaritySessionReceiver *receiver)
virtual void NotifyStart (SimilaritySessionCompletion &completion)
 Called when the session starts a run.
virtual void NotifyBatch (SimilaritySessionNode &node, SimilarityProvider &provider, const std::vector< SimilarityEntityId > &entities)
 Called when a provider's results, resolution state, or applied metadata changes for a batch of entities.
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNSimilaritySessionReceiver, BNNewSimilaritySessionReceiverReference, BNFreeSimilaritySessionReceiver >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNSimilaritySessionReceiverGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Additional Inherited Members

Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNSimilaritySessionReceiver, BNNewSimilaritySessionReceiverReference, BNFreeSimilaritySessionReceiver >
std::atomic< int > m_refs
bool m_registeredRef
BNSimilaritySessionReceiverm_object

Constructor & Destructor Documentation

◆ SimilaritySessionReceiver() [1/2]

SimilaritySessionReceiver::SimilaritySessionReceiver ( )

◆ SimilaritySessionReceiver() [2/2]

SimilaritySessionReceiver::SimilaritySessionReceiver ( BNSimilaritySessionReceiver * receiver)

Member Function Documentation

◆ NotifyStart()

virtual void BinaryNinja::SimilaritySessionReceiver::NotifyStart ( SimilaritySessionCompletion & completion)
inlinevirtual

Called when the session starts a run.

This is mainly used to get the completion state for the run.

Reimplemented in BinaryNinja::CoreSimilaritySessionReceiver.

◆ NotifyBatch()

virtual void BinaryNinja::SimilaritySessionReceiver::NotifyBatch ( SimilaritySessionNode & node,
SimilarityProvider & provider,
const std::vector< SimilarityEntityId > & entities )
inlinevirtual

Called when a provider's results, resolution state, or applied metadata changes for a batch of entities.

Reimplemented in BinaryNinja::CoreSimilaritySessionReceiver.