14#ifndef ZYPP_NG_SAT_COMPONENTS_NAMESPACECOMPONENT_H_INCLUDED
15#define ZYPP_NG_SAT_COMPONENTS_NAMESPACECOMPONENT_H_INCLUDED
18#include <unordered_map>
73 std::unordered_map<detail::IdType, std::shared_ptr<NamespaceProvider>>
_providers;
Interface for components that run BEFORE the whatprovides index is built.
Mediator managing the collection of NamespaceProviders for a Pool.
bool handleNamespace(detail::IdType namespaceId, detail::IdType value) const
The entry point for the libsolv namespace callback.
static detail::IdType libsolv_callback(detail::CPool *, void *data, detail::IdType lhs, detail::IdType rhs)
The static C-style callback for libsolv.
void checkDirty(Pool &pool) override
Probe external state.
InitStage stage() const override
int priority() const override
Fine-grained ordering within a stage.
~NamespaceComponent() override=default
std::unordered_map< detail::IdType, std::shared_ptr< NamespaceProvider > > _providers
Internal map of IDs to their respective providers.
void prepare(Pool &pool) override
void onReset(Pool &pool) override
void attach(Pool &pool) override
void registerProvider(detail::IdType namespaceId, std::shared_ptr< NamespaceProvider > provider)
Register a provider for a specific namespace.
Abstract base class for logic providing data to a libsolv namespace.
Orchestrator for a libsolv pool instance.
zypp::sat::detail::CPool CPool
zypp::sat::detail::IdType IdType
This file contains private API, this might break at any time between releases.
InitStage
Execution stages for IPoolComponent (pre-index phase).
@ Environment
Arches, Locales, Namespace Callbacks (The Foundation).