libzypp
10.5.0
|
compute Installation order. More...
#include <InstallOrder.h>
Classes | |
struct | NodeInfo |
Public Member Functions | |
InstallOrder (const ResPool &pool, const PoolItemSet &toinstall, const PoolItemSet &installed) | |
Constructor. | |
PoolItemList | computeNextSet () |
Compute a list of ResItems which have no requirements and can be installed in parallel without conflicts. | |
void | setInstalled (PoolItem item) |
set a Solvable as installed, computeNextSet is able to compute a new set then | |
void | setInstalled (const PoolItemList &list) |
like above, for convenience | |
void | startrdfs () |
recoursive depth first search, build internal trees | |
void | init () |
Initialize data structures. | |
const PoolItemList | getTopSorted () const |
compute topological sorted list | |
void | printAdj (std::ostream &os, bool reversed=false) const |
Private Types | |
typedef std::map< PoolItem, PoolItemList > | Graph |
adjacency list type | |
typedef std::map< PoolItem, NodeInfo > | Nodes |
Private Member Functions | |
void | rdfsvisit (PoolItem item) |
PoolItem | findProviderInSet (const Capability requirement, const PoolItemSet &candidates) const |
bool | doesProvide (const Capability requirement, PoolItem item) const |
Private Attributes | |
const ResPool & | _pool |
PoolItemSet | _toinstall |
PoolItemSet | _installed |
Graph | _graph |
adjacency list, package -> requirements | |
Graph | _rgraph |
reversed graph, package -> referers | |
Nodes | _nodes |
unsigned | _rdfstime |
PoolItemList | _topsorted |
bool | _dirty |
unsigned | _numrun |
std::set< std::string > | _logset |
compute Installation order.
There are two Interfaces:
Definition at line 62 of file InstallOrder.h.
typedef std::map<PoolItem, PoolItemList> zypp::solver::detail::InstallOrder::Graph [private] |
adjacency list type
Definition at line 70 of file InstallOrder.h.
typedef std::map<PoolItem, NodeInfo> zypp::solver::detail::InstallOrder::Nodes [private] |
Definition at line 91 of file InstallOrder.h.
zypp::solver::detail::InstallOrder::InstallOrder | ( | const ResPool & | pool, |
const PoolItemSet & | toinstall, | ||
const PoolItemSet & | installed | ||
) |
Constructor.
toinstall | Set of ResItems that have to be installed |
installed | Set of ResItems that are already installed |
Definition at line 58 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::rdfsvisit | ( | PoolItem | item | ) | [private] |
Definition at line 184 of file InstallOrder.cc.
PoolItem zypp::solver::detail::InstallOrder::findProviderInSet | ( | const Capability | requirement, |
const PoolItemSet & | candidates | ||
) | const [private] |
Definition at line 169 of file InstallOrder.cc.
bool zypp::solver::detail::InstallOrder::doesProvide | ( | const Capability | requirement, |
PoolItem | item | ||
) | const [private] |
Definition at line 156 of file InstallOrder.cc.
PoolItemList zypp::solver::detail::InstallOrder::computeNextSet | ( | ) |
Compute a list of ResItems which have no requirements and can be installed in parallel without conflicts.
Use setInstalled to make computation of a different set possible
Definition at line 96 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::setInstalled | ( | PoolItem | item | ) |
set a Solvable as installed, computeNextSet is able to compute a new set then
Definition at line 119 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::setInstalled | ( | const PoolItemList & | list | ) |
like above, for convenience
Definition at line 145 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::startrdfs | ( | ) |
recoursive depth first search, build internal trees
Definition at line 322 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::init | ( | ) | [inline] |
Initialize data structures.
Must be called before any other function.
Definition at line 147 of file InstallOrder.h.
const PoolItemList zypp::solver::detail::InstallOrder::getTopSorted | ( | ) | const |
compute topological sorted list
Definition at line 362 of file InstallOrder.cc.
void zypp::solver::detail::InstallOrder::printAdj | ( | std::ostream & | os, |
bool | reversed = false |
||
) | const |
Definition at line 72 of file InstallOrder.cc.
const ResPool& zypp::solver::detail::InstallOrder::_pool [private] |
Definition at line 65 of file InstallOrder.h.
Definition at line 66 of file InstallOrder.h.
Definition at line 67 of file InstallOrder.h.
adjacency list, package -> requirements
Definition at line 73 of file InstallOrder.h.
reversed graph, package -> referers
Definition at line 76 of file InstallOrder.h.
Definition at line 93 of file InstallOrder.h.
unsigned zypp::solver::detail::InstallOrder::_rdfstime [private] |
Definition at line 95 of file InstallOrder.h.
Definition at line 97 of file InstallOrder.h.
bool zypp::solver::detail::InstallOrder::_dirty [private] |
Definition at line 99 of file InstallOrder.h.
unsigned zypp::solver::detail::InstallOrder::_numrun [private] |
Definition at line 101 of file InstallOrder.h.
std::set<std::string> zypp::solver::detail::InstallOrder::_logset [private] |
Definition at line 103 of file InstallOrder.h.