|
libzypp 17.38.6
|
Mediator managing the collection of NamespaceProviders for a Pool. More...
#include <zypp/ng/sat/components/namespacecomponent.h>

Public Member Functions | |
| ~NamespaceComponent () override=default | |
| void | registerProvider (detail::IdType namespaceId, std::shared_ptr< NamespaceProvider > provider) |
| Register a provider for a specific namespace. | |
| bool | handleNamespace (detail::IdType namespaceId, detail::IdType value) const |
| The entry point for the libsolv namespace callback. | |
| InitStage | stage () const override |
| int | priority () const override |
| Fine-grained ordering within a stage. | |
| void | attach (Pool &pool) override |
| void | checkDirty (Pool &pool) override |
| Probe external state. | |
| void | prepare (Pool &pool) override |
| void | onReset (Pool &pool) override |
| Public Member Functions inherited from zyppng::sat::detail::IBasicPoolComponent | |
| virtual void | onInvalidate (Pool &, PoolInvalidation) |
| React to pool invalidation — clear internal caches. | |
| virtual void | onRepoAdded (Pool &, RepoIdType) |
| virtual void | onRepoRemoved (Pool &, RepoIdType) |
| virtual | ~IBasicPoolComponent ()=default |
| IBasicPoolComponent ()=default | |
| IBasicPoolComponent (const IBasicPoolComponent &)=delete | |
| IBasicPoolComponent (IBasicPoolComponent &&)=delete | |
| IBasicPoolComponent & | operator= (const IBasicPoolComponent &)=delete |
| IBasicPoolComponent & | operator= (IBasicPoolComponent &&)=delete |
Static Private Member Functions | |
| static detail::IdType | libsolv_callback (detail::CPool *, void *data, detail::IdType lhs, detail::IdType rhs) |
| The static C-style callback for libsolv. | |
Private Attributes | |
| std::unordered_map< detail::IdType, std::shared_ptr< NamespaceProvider > > | _providers |
| Internal map of IDs to their respective providers. | |
Mediator managing the collection of NamespaceProviders for a Pool.
The NamespaceComponent acts as the central hub for libsolv namespace callbacks. It maps libsolv Namespace IDs to specific NamespaceProvider instances and propagates dirty notifications up to the Pool.
By keeping this logic separate from the Pool, we prevent high-level dependencies (like Locales or Hardware detection) from leaking into the low-level pool header.
Definition at line 37 of file namespacecomponent.h.
|
overridedefault |
| void zyppng::sat::NamespaceComponent::registerProvider | ( | detail::IdType | namespaceId, |
| std::shared_ptr< NamespaceProvider > | provider ) |
Register a provider for a specific namespace.
| namespaceId | The ID representing the namespace (e.g., 'namespace:language'). |
| provider | A shared pointer to the provider implementation. |
Definition at line 18 of file namespacecomponent.cc.
| bool zyppng::sat::NamespaceComponent::handleNamespace | ( | detail::IdType | namespaceId, |
| detail::IdType | value ) const |
The entry point for the libsolv namespace callback.
| namespaceId | The ID of the namespace being queried. |
| value | The value to be checked. |
Definition at line 23 of file namespacecomponent.cc.
|
inlineoverridevirtual |
Reimplemented from zyppng::sat::IPoolComponent.
Definition at line 59 of file namespacecomponent.h.
|
inlineoverridevirtual |
Fine-grained ordering within a stage.
Lower values run earlier. Default is 0.
Reimplemented from zyppng::sat::IPoolComponent.
Definition at line 60 of file namespacecomponent.h.
|
overridevirtual |
Reimplemented from zyppng::sat::IPoolComponent.
Definition at line 31 of file namespacecomponent.cc.
|
overridevirtual |
Probe external state.
May call pool.setDirty(). Called once per prepare() invocation, before any component prepare work starts. This is the ONLY point during the prepare sequence where calling setDirty() is legal (asserted in debug builds).
Reimplemented from zyppng::sat::detail::IBasicPoolComponent.
Definition at line 40 of file namespacecomponent.cc.
|
overridevirtual |
Reimplemented from zyppng::sat::IPoolComponent.
Definition at line 46 of file namespacecomponent.cc.
|
overridevirtual |
Reimplemented from zyppng::sat::detail::IBasicPoolComponent.
Definition at line 52 of file namespacecomponent.cc.
|
staticprivate |
The static C-style callback for libsolv.
Definition at line 58 of file namespacecomponent.cc.
|
private |
Internal map of IDs to their respective providers.
Definition at line 73 of file namespacecomponent.h.