|
libzypp 17.38.6
|
Orchestrator for a libsolv pool instance. More...
#include <zypp/ng/sat/pool.h>
Public Types | |
| using | RepositoryIterable = zypp::Iterable<detail::RepositoryIterator> |
| using | SolvableIterable = zypp::Iterable<detail::SolvableIterator> |
Public Member Functions | |
| Pool () | |
| Default ctor. | |
| Pool (const Pool &)=delete | |
| Pool (Pool &&)=delete | |
| Pool & | operator= (const Pool &)=delete |
| Pool & | operator= (Pool &&)=delete |
| ~Pool () | |
| Dtor. | |
| detail::CPool * | get () const |
| Expert backdoor. | |
| const SerialNumber & | serial () const |
| Serial number changing whenever the content changes. | |
| const SerialNumber & | serialIDs () const |
| Serial number changing whenever resusePoolIDs==true was used. | |
| PreparedPool | prepare () |
| Update housekeeping data (e.g. | |
| detail::size_type | capacity () const |
| void | setDirty (PoolInvalidation invalidation, std::initializer_list< std::string_view > reasons) |
| Invalidate everything. | |
| void | clear () |
| Reset the pool by removing all repositories and solvables. | |
Solvable management | |
| bool | solvablesEmpty () const |
| Whether Pool contains solvables. | |
| detail::size_type | solvablesSize () const |
| Number of solvables in Pool. | |
| SolvableIterable | solvables () const |
| Iterator to the first Solvable. | |
Component management | |
| zypp::Pathname | rootDir () const |
| void | rootDir (const zypp::Pathname &root_r) |
| Set rootdir (for file conflicts check). | |
Friends | |
| class | Repository |
| class | Solvable |
Actions invalidating housekeeping data. | |
All methods expect valid arguments being passed. | |
| detail::CPool * | _pool |
| sat-pool. | |
| SerialNumber | _serial |
| Serial number - changes with each Pool content change. | |
| SerialNumber | _serialIDs |
| Serial number of IDs - changes whenever resusePoolIDs==true - ResPool must also invalidate its PoolItems! | |
| SerialNumberWatcher | _watcher |
| Watch serial number. | |
| PoolComponentSet | _componentsSet |
| Component set managing modular pool logic. | |
| bool | _preparing = false |
| True while prepare() is running — setDirty() is illegal in this window. | |
| detail::IdType | parserpmrichdep (const char *capstr_r) |
| libsolv capability parser | |
| detail::SolvableIdType | getFirstId () const |
| Get id of the first valid Solvable. | |
| detail::SolvableIdType | getNextId (detail::SolvableIdType id_r) const |
| Get id of the next valid Solvable. | |
| PoolComponentSet & | components () |
| Get rootdir (for file conflicts check). | |
| const PoolComponentSet & | components () const |
| template<typename T> | |
| T & | component () |
| template<typename T> | |
| const T * | findComponent () const |
| detail::CRepo * | _createRepo (const std::string &name_r) |
| Creating a new repo named name_r. | |
| void | _deleteRepo (detail::CRepo *repo_r) |
| Delete repo repo_r from pool. | |
| int | _addSolv (detail::CRepo *repo_r, FILE *file_r) |
| Adding solv file to a repo. | |
| int | _addHelix (detail::CRepo *repo_r, FILE *file_r) |
| Adding helix file to a repo. | |
| int | _addTesttags (detail::CRepo *repo_r, FILE *file_r) |
| Adding testtags file to a repo. | |
| detail::SolvableIdType | _addSolvables (detail::CRepo *repo_r, unsigned count_r) |
| Adding Solvables to a repo. | |
| void | _postRepoAdd (detail::CRepo *repo_r) |
| Helper postprocessing the repo after adding solv or helix files. | |
| bool | validSolvable (const detail::CSolvable &slv_r) const |
a valid Solvable has a non NULL repo pointer. | |
| bool | validSolvable (detail::SolvableIdType id_r) const |
| bool | validSolvable (const detail::CSolvable *slv_r) const |
| detail::CPool * | getPool () const |
| detail::CRepo * | getRepo (detail::RepoIdType id_r) const |
| detail::CSolvable * | getSolvable (detail::SolvableIdType id_r) const |
| Return pointer to the sat-solvable or NULL if it is not valid. | |
Repository management | |
| Repository | reposFind (const std::string &alias_r) const |
Find a Repository named alias_r. | |
| Repository | reposInsert (const std::string &alias_r) |
Return a Repository named alias_r. | |
| void | reposErase (const std::string &alias_r) |
Remove a Repository named alias_r. | |
| void | reposEraseAll () |
| Remove all repos from the pool. | |
| bool | reposEmpty () const |
| Whether Pool contains repos. | |
| detail::size_type | reposSize () const |
| Number of repos in Pool. | |
| RepositoryIterable | repos () const |
| Iteratable to the repositories. | |
| Repository | findSystemRepo () const |
| Return the system repository if it is on the pool. | |
| Repository | systemRepo () |
| Return the system repository, create it if missing. | |
| bool | isSystemRepo (detail::CRepo *repo_r) const |
| static const std::string & | systemRepoAlias () |
Reserved system repository alias @System . | |
| detail::CRepo * | _systemRepoPtr () const |
|
delete |
|
delete |
|
inline |
|
inline |
|
inline |
| PreparedPool zyppng::sat::Pool::prepare | ( | ) |
Update housekeeping data (e.g.
whatprovides). Returns a PreparedPool — a move-only view that guarantees the index is valid.
| detail::size_type zyppng::sat::Pool::capacity | ( | ) | const |
| void zyppng::sat::Pool::setDirty | ( | PoolInvalidation | invalidation, |
| std::initializer_list< std::string_view > | reasons ) |
| void zyppng::sat::Pool::clear | ( | ) |
Reset the pool by removing all repositories and solvables.
This is primarily useful for test isolation since StringPool is currently a singleton.
|
static |
| Repository zyppng::sat::Pool::reposFind | ( | const std::string & | alias_r | ) | const |
Find a Repository named alias_r.
Returns Repository::noRepository if there is no such Repository.
| Repository zyppng::sat::Pool::reposInsert | ( | const std::string & | alias_r | ) |
Return a Repository named alias_r.
It a such a Repository does not already exist a new empty Repository is created.
|
inline |
Remove a Repository named alias_r.
|
inline |
| bool zyppng::sat::Pool::reposEmpty | ( | ) | const |
| detail::size_type zyppng::sat::Pool::reposSize | ( | ) | const |
| Pool::RepositoryIterable zyppng::sat::Pool::repos | ( | ) | const |
| Repository zyppng::sat::Pool::findSystemRepo | ( | ) | const |
| Repository zyppng::sat::Pool::systemRepo | ( | ) |
|
inline |
|
inlineprivate |
| bool zyppng::sat::Pool::solvablesEmpty | ( | ) | const |
| detail::size_type zyppng::sat::Pool::solvablesSize | ( | ) | const |
| Pool::SolvableIterable zyppng::sat::Pool::solvables | ( | ) | const |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
Return pointer to the sat-solvable or NULL if it is not valid.
|
inline |
|
inline |
|
inline |
Get id of the next valid Solvable.
This goes round robbin. At the end it returns noSolvableId. Passing noSolvableId it returns the 1st valid Solvable.
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
True while prepare() is running — setDirty() is illegal in this window.