#include <InstallOrder.h>
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_Ref 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 | |
const void | printAdj (std::ostream &os, bool reversed=false) const |
Private Types | |
typedef std::map< PoolItem_Ref, PoolItemList > | Graph |
adjacency list type | |
typedef std::map< PoolItem_Ref, NodeInfo > | Nodes |
Private Member Functions | |
void | rdfsvisit (PoolItem_Ref item) |
PoolItem_Ref | findProviderInSet (const Capability requirement, const PoolItemSet &candidates) const |
bool | doesProvide (const Capability requirement, PoolItem_Ref 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 |
Classes | |
struct | NodeInfo |
There are two Interfaces:
Definition at line 60 of file InstallOrder.h.
|
adjacency list type
Definition at line 68 of file InstallOrder.h. |
|
Definition at line 89 of file InstallOrder.h. |
|
Constructor.
Definition at line 55 of file InstallOrder.cc. References _DEBUG, _installed, and _toinstall. |
|
Definition at line 215 of file InstallOrder.cc. References _nodes, _rdfstime, zypp::solver::detail::InstallOrder::NodeInfo::begintime, ITEMNAME, zypp::Dep::PREREQUIRES, zypp::solver::detail::InstallOrder::NodeInfo::visited, and XXX. |
|
Definition at line 169 of file InstallOrder.cc. References doesProvide(). |
|
Definition at line 156 of file InstallOrder.cc. References zypp::Dep::PROVIDES, and zypp::CapMatch::yes. Referenced by findProviderInSet(). |
|
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 93 of file InstallOrder.cc. References _dirty, _nodes, ITEMNAME, startrdfs(), and XXX. |
|
set a Solvable as installed, computeNextSet is able to compute a new set then
Definition at line 119 of file InstallOrder.cc. References _dirty, _installed, _nodes, _rgraph, _toinstall, ITEMNAME, WAR, and XXX. Referenced by setInstalled(). |
|
like above, for convenience
Definition at line 145 of file InstallOrder.cc. References setInstalled(). |
|
recoursive depth first search, build internal trees
Definition at line 317 of file InstallOrder.cc. References _graph, _nodes, _numrun, _rdfstime, _rgraph, _toinstall, _topsorted, and XXX. Referenced by computeNextSet(), and init(). |
|
Initialize data structures. Must be called before any other function. Definition at line 143 of file InstallOrder.h. References startrdfs(). |
|
compute topological sorted list
Definition at line 357 of file InstallOrder.cc. References _topsorted. |
|
Definition at line 69 of file InstallOrder.cc. |
|
Definition at line 63 of file InstallOrder.h. |
|
Definition at line 64 of file InstallOrder.h. Referenced by InstallOrder(), setInstalled(), and startrdfs(). |
|
Definition at line 65 of file InstallOrder.h. Referenced by InstallOrder(), and setInstalled(). |
|
adjacency list, package -> requirements
Definition at line 71 of file InstallOrder.h. Referenced by printAdj(), and startrdfs(). |
|
reversed graph, package -> referers
Definition at line 74 of file InstallOrder.h. Referenced by printAdj(), setInstalled(), and startrdfs(). |
|
Definition at line 91 of file InstallOrder.h. Referenced by computeNextSet(), printAdj(), rdfsvisit(), setInstalled(), and startrdfs(). |
|
Definition at line 93 of file InstallOrder.h. Referenced by rdfsvisit(), and startrdfs(). |
|
Definition at line 95 of file InstallOrder.h. Referenced by getTopSorted(), and startrdfs(). |
|
Definition at line 97 of file InstallOrder.h. Referenced by computeNextSet(), and setInstalled(). |
|
Definition at line 99 of file InstallOrder.h. Referenced by startrdfs(). |