Selects a preferred result for each scheduled entity. More...
Selects a preferred result for each scheduled entity.
C++ implementations must be thread safe because callbacks may overlap across nodes in the same processing group.
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNSimilaritySessionResolver, BNNewSimilaritySessionResolverReference, BNFreeSimilaritySessionResolver > | |
| std::atomic< int > | m_refs |
| bool | m_registeredRef |
| BNSimilaritySessionResolver * | m_object |
| SimilaritySessionResolver::SimilaritySessionResolver | ( | SimilaritySessionResolverType * | type, |
| Ref< SimilaritySession > | session ) |
Creates a resolver for `session`.
| SimilaritySessionResolver::SimilaritySessionResolver | ( | BNSimilaritySessionResolver * | resolver | ) |
| SimilaritySessionResolverId SimilaritySessionResolver::GetId | ( | ) | const |
| Ref< SimilaritySessionResolverType > SimilaritySessionResolver::GetType | ( | ) | const |
|
inlinevirtual |
Replaces this resolver'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::UpdateResolverSettings so affected entities are resolved again.
|
inlinevirtual |
Prepares a node before providers run.
This is useful for large graphs where views may be unavailable, but the resolver needs to change the scheduled entities or add entities itself.
Reimplemented in BinaryNinja::CoreSimilaritySessionResolver.
|
pure virtual |
Resolves provider results after all providers have visited the node.
Call SetResolvedResult to select a result. Call AddScheduledEntity to request another provider and resolver round for an entity. Only schedule work for `node`; the session owns scheduling between nodes.
Implemented in BinaryNinja::CoreSimilaritySessionResolver.