|
libzypp
17.38.7
|
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. More... | |
| Pool (const Pool &)=delete | |
| Pool (Pool &&)=delete | |
| Pool & | operator= (const Pool &)=delete |
| Pool & | operator= (Pool &&)=delete |
| ~Pool () | |
| Dtor. More... | |
| detail::CPool * | get () const |
| Expert backdoor. More... | |
| const SerialNumber & | serial () const |
| Serial number changing whenever the content changes. More... | |
| const SerialNumber & | serialIDs () const |
| Serial number changing whenever resusePoolIDs==true was used. More... | |
| PreparedPool | prepare () |
| Update housekeeping data (e.g. More... | |
| detail::size_type | capacity () const |
| void | setDirty (PoolInvalidation invalidation, std::initializer_list< std::string_view > reasons) |
| Invalidate everything. More... | |
| void | clear () |
| Reset the pool by removing all repositories and solvables. More... | |
| detail::IdType | parserpmrichdep (const char *capstr_r) |
| libsolv capability parser More... | |
| detail::SolvableIdType | getFirstId () const |
| Get id of the first valid Solvable. More... | |
| detail::SolvableIdType | getNextId (detail::SolvableIdType id_r) const |
| Get id of the next valid Solvable. More... | |
Solvable management | |
| bool | solvablesEmpty () const |
| Whether Pool contains solvables. More... | |
| detail::size_type | solvablesSize () const |
| Number of solvables in Pool. More... | |
| SolvableIterable | solvables () const |
| Iterator to the first Solvable. More... | |
Component management | |
| zypp::Pathname | rootDir () const |
| void | rootDir (const zypp::Pathname &root_r) |
| Set rootdir (for file conflicts check) More... | |
| PoolComponentSet & | components () |
| Get rootdir (for file conflicts check) More... | |
| const PoolComponentSet & | components () const |
| template<typename T > | |
| T & | component () |
| template<typename T > | |
| const T * | findComponent () const |
Private Member Functions | |
| void | _postRepoAdd (detail::CRepo *repo_r) |
| Helper postprocessing the repo after adding solv or helix files. More... | |
| bool | validSolvable (const detail::CSolvable &slv_r) const |
a valid Solvable has a non NULL repo pointer. More... | |
| 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. More... | |
Actions invalidating housekeeping data. | |
All methods expect valid arguments being passed. | |
| detail::CRepo * | _createRepo (const std::string &name_r) |
| Creating a new repo named name_r. More... | |
| void | _deleteRepo (detail::CRepo *repo_r) |
| Delete repo repo_r from pool. More... | |
| int | _addSolv (detail::CRepo *repo_r, FILE *file_r) |
| Adding solv file to a repo. More... | |
| int | _addHelix (detail::CRepo *repo_r, FILE *file_r) |
| Adding helix file to a repo. More... | |
| int | _addTesttags (detail::CRepo *repo_r, FILE *file_r) |
| Adding testtags file to a repo. More... | |
| detail::SolvableIdType | _addSolvables (detail::CRepo *repo_r, unsigned count_r) |
| Adding Solvables to a repo. More... | |
Private Attributes | |
| detail::CPool * | _pool |
| sat-pool. More... | |
| SerialNumber | _serial |
| Serial number - changes with each Pool content change. More... | |
| SerialNumber | _serialIDs |
| Serial number of IDs - changes whenever resusePoolIDs==true - ResPool must also invalidate its PoolItems! More... | |
| SerialNumberWatcher | _watcher |
| Watch serial number. More... | |
| PoolComponentSet | _componentsSet |
| Component set managing modular pool logic. More... | |
| bool | _preparing = false |
| True while prepare() is running — setDirty() is illegal in this window. More... | |
Friends | |
| class | Repository |
| class | Solvable |
Repository management | |
| Repository | reposFind (const std::string &alias_r) const |
Find a Repository named alias_r. More... | |
| Repository | reposInsert (const std::string &alias_r) |
Return a Repository named alias_r. More... | |
| void | reposErase (const std::string &alias_r) |
Remove a Repository named alias_r. More... | |
| void | reposEraseAll () |
| Remove all repos from the pool. More... | |
| bool | reposEmpty () const |
| Whether Pool contains repos. More... | |
| detail::size_type | reposSize () const |
| Number of repos in Pool. More... | |
| RepositoryIterable | repos () const |
| Iteratable to the repositories. More... | |
| Repository | findSystemRepo () const |
| Return the system repository if it is on the pool. More... | |
| Repository | systemRepo () |
| Return the system repository, create it if missing. More... | |
| bool | isSystemRepo (detail::CRepo *repo_r) const |
| static const std::string & | systemRepoAlias () |
Reserved system repository alias . More... | |
| 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 |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
True while prepare() is running — setDirty() is illegal in this window.