Produces, applies, and renders similarity results for session entities. More...
Produces, applies, and renders similarity results for session entities.
C++ implementations must be thread safe because callbacks may overlap across nodes and sessions. Provider visits must write changes through the given SimilarityProviderResults. Visits made by a session keep the visited node and both edge endpoints active. Direct calls must provide active views.
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNSimilarityProvider, BNNewSimilarityProviderReference, BNFreeSimilarityProvider > | |
| std::atomic< int > | m_refs |
| bool | m_registeredRef |
| BNSimilarityProvider * | m_object |
| SimilarityProvider::SimilarityProvider | ( | SimilarityProviderType * | type | ) |
| SimilarityProvider::SimilarityProvider | ( | BNSimilarityProvider * | provider | ) |
| Ref< SimilarityProviderType > SimilarityProvider::GetType | ( | ) | const |
| SimilarityProviderId SimilarityProvider::GetId | ( | ) | const |
|
inlinevirtual |
Replaces this provider's settings only if they are valid.
Return false without changing the current settings when the new settings are invalid or updates are not supported. Use SimilaritySession::UpdateProviderSettings so affected entities are scheduled again.
| void SimilarityProvider::VisitNode | ( | SimilaritySessionNode & | node, |
| SimilaritySessionCompletion & | completion ) |
Performs a complete node visit.
The core manages the result updates.
| void SimilarityProvider::VisitNodeEdge | ( | SimilaritySessionNode & | from, |
| SimilaritySessionNode & | to, | ||
| SimilaritySessionCompletion & | completion ) |
Performs a complete edge visit.
The core manages the result updates.
|
inlinevirtual |
Visits a node and writes results for it.
Return `false` to discard the visit.
Reimplemented in BinaryNinja::CoreSimilarityProvider.
|
inlinevirtual |
Visits an edge after both endpoint nodes have been visited and writes results for the edge.
Return `false` to discard the visit.
Reimplemented in BinaryNinja::CoreSimilarityProvider.
|
pure virtual |
Returns the display name for a result, if available.
Implemented in BinaryNinja::CoreSimilarityProvider.
|
virtual |
Applies a result.
The default implementation transfers metadata from the result target; overrides can call it before adding provider-specific metadata.
Reimplemented in BinaryNinja::CoreSimilarityProvider.
|
pure virtual |
Adds views for a result to `context`.
Implemented in BinaryNinja::CoreSimilarityProvider.