20 _providers.insert_or_assign ( namespaceId, provider );
27 return iter->second->isSatisfied ( value );
34 pool.
get()->nscallbackdata =
this;
36 p.second->attach(pool);
43 provider.second->checkDirty( pool );
49 provider.second->prepare( pool );
55 p.second->onReset( pool );
61 if (
self && self->handleNamespace( lhs, rhs ) )
void registerProvider(detail::IdType namespaceId, std::shared_ptr< NamespaceProvider > provider)
Register a provider for a specific namespace.
Mediator managing the collection of NamespaceProviders for a Pool.
Orchestrator for a libsolv pool instance.
std::unordered_map< detail::IdType, std::shared_ptr< NamespaceProvider > > _providers
Internal map of IDs to their respective providers.
void prepare(Pool &pool) override
zypp::sat::detail::CPool CPool
bool handleNamespace(detail::IdType namespaceId, detail::IdType value) const
The entry point for the libsolv namespace callback.
detail::CPool * get() const
Expert backdoor.
This file contains private API, this might break at any time between releases.
zypp::sat::detail::IdType IdType
static detail::IdType libsolv_callback(detail::CPool *, void *data, detail::IdType lhs, detail::IdType rhs)
The static C-style callback for libsolv.
void attach(Pool &pool) override
void checkDirty(Pool &pool) override
Probe external state.
void onReset(Pool &pool) override