Runs providers and resolvers over binaries arranged in a session graph. More...
Runs providers and resolvers over binaries arranged in a session graph.
Public Member Functions | |
| SimilaritySession (BNSimilaritySession *session) | |
| SimilaritySession () | |
| SimilaritySessionId | GetId () const |
| void | AddProvider (Ref< SimilarityProvider > provider) |
| Adds a provider and schedules entities processed by earlier runs for the next run. | |
| void | RemoveProvider (SimilarityProvider &provider) |
| Removes a provider, clears its results, and marks affected entities for resolution. | |
| bool | UpdateProviderSettings (SimilarityProvider &provider, Settings &settings) |
| Updates a provider already in the session and schedules previously processed entities again. | |
| Ref< SimilarityProvider > | GetProvider (SimilarityProviderId id) |
| Returns a provider, or `nullptr` if `id` is absent. | |
| std::vector< Ref< SimilarityProvider > > | GetProviders () |
| bool | AddResolver (Ref< SimilaritySessionResolver > resolver) |
| Adds a resolver created for this session and marks entities processed by earlier runs for resolution. | |
| bool | RemoveResolver (SimilaritySessionResolver &resolver) |
| Removes a resolver. | |
| bool | UpdateResolverSettings (SimilaritySessionResolver &resolver, Settings &settings) |
| Updates a resolver already in the session and marks previously processed entities for resolution. | |
| Ref< SimilaritySessionResolver > | GetResolver (SimilaritySessionResolverId id) |
| Returns a resolver, or `nullptr` if `id` is absent. | |
| std::vector< Ref< SimilaritySessionResolver > > | GetResolvers () |
| void | AddReceiver (Ref< SimilaritySessionReceiver > receiver) |
| Adds a receiver. | |
| void | RemoveReceiver (SimilaritySessionReceiver &receiver) |
| Removes a receiver. | |
| std::vector< Ref< SimilaritySessionReceiver > > | GetReceivers () |
| Ref< SimilaritySessionGraph > | GetGraph () |
| Ref< SimilaritySessionCompletion > | Run () |
| Starts a background run with the current graph, providers, and resolvers. | |
| Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNSimilaritySession, BNNewSimilaritySessionReference, BNFreeSimilaritySession > | |
| CoreRefCountObject () | |
| virtual | ~CoreRefCountObject () |
| BNSimilaritySession * | GetObject () const |
| void | AddRef () |
| void | Release () |
| void | AddRefForRegistration () |
| void | ReleaseForRegistration () |
| void | AddRefForCallback () |
| void | ReleaseForCallback () |
Additional Inherited Members | |
| Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNSimilaritySession, BNNewSimilaritySessionReference, BNFreeSimilaritySession > | |
| std::atomic< int > | m_refs |
| bool | m_registeredRef |
| BNSimilaritySession * | m_object |
| SimilaritySession::SimilaritySession | ( | BNSimilaritySession * | session | ) |
| SimilaritySession::SimilaritySession | ( | ) |
| SimilaritySessionId SimilaritySession::GetId | ( | ) | const |
| void SimilaritySession::AddProvider | ( | Ref< SimilarityProvider > | provider | ) |
Adds a provider and schedules entities processed by earlier runs for the next run.
| void SimilaritySession::RemoveProvider | ( | SimilarityProvider & | provider | ) |
Removes a provider, clears its results, and marks affected entities for resolution.
| bool SimilaritySession::UpdateProviderSettings | ( | SimilarityProvider & | provider, |
| Settings & | settings ) |
Updates a provider already in the session and schedules previously processed entities again.
Returns false during a run, when the provider is absent, or when it rejects the settings.
| Ref< SimilarityProvider > SimilaritySession::GetProvider | ( | SimilarityProviderId | id | ) |
Returns a provider, or `nullptr` if `id` is absent.
| std::vector< Ref< SimilarityProvider > > SimilaritySession::GetProviders | ( | ) |
| bool SimilaritySession::AddResolver | ( | Ref< SimilaritySessionResolver > | resolver | ) |
Adds a resolver created for this session and marks entities processed by earlier runs for resolution.
| bool SimilaritySession::RemoveResolver | ( | SimilaritySessionResolver & | resolver | ) |
Removes a resolver.
| bool SimilaritySession::UpdateResolverSettings | ( | SimilaritySessionResolver & | resolver, |
| Settings & | settings ) |
Updates a resolver already in the session and marks previously processed entities for resolution.
Returns false during a run, when the resolver is absent or belongs to another session, or when it rejects the settings.
| Ref< SimilaritySessionResolver > SimilaritySession::GetResolver | ( | SimilaritySessionResolverId | id | ) |
Returns a resolver, or `nullptr` if `id` is absent.
| std::vector< Ref< SimilaritySessionResolver > > SimilaritySession::GetResolvers | ( | ) |
| void SimilaritySession::AddReceiver | ( | Ref< SimilaritySessionReceiver > | receiver | ) |
Adds a receiver.
A running session keeps using the receiver list it started with.
| void SimilaritySession::RemoveReceiver | ( | SimilaritySessionReceiver & | receiver | ) |
Removes a receiver.
A running session keeps using the receiver list it started with.
| std::vector< Ref< SimilaritySessionReceiver > > SimilaritySession::GetReceivers | ( | ) |
| Ref< SimilaritySessionGraph > SimilaritySession::GetGraph | ( | ) |
| Ref< SimilaritySessionCompletion > SimilaritySession::Run | ( | ) |
Starts a background run with the current graph, providers, and resolvers.
Changes are ignored until it finishes.