Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

RpmDb::Packages Class Reference

List of all members.

Public Member Functions

 Packages ()
void clear ()
PMPackagePtr lookup (const PkgName &name_r) const
void buildList ()

Public Attributes

list< PMPackagePtr > _list
map< PkgName, PMPackagePtr > _index
bool _valid

Detailed Description

Helper class for RpmDb::getPackages() to build the list<PMPackagePtr> returned. We have to assert, that there is a unique entry for every PkgName.

In the first step we build the _index map which helps to catch multiple occurances of a PkgName in the rpmdb. That's not desired, but possible. Usg. the last package instance installed is strored in the _index map.

At the end buildList() is called to build the list<PMPackagePtr> from the _index map. _valid is set true to assign that the list is in sync with the rpmdb content. Operations changing the rpmdb content (install/remove package) should set _valid to false. The next call to RpmDb::getPackages() will then reread the the rpmdb.

Note that outside RpmDb::getPackages() _list and _index are always in sync. So you may use lookup(PkgName) to retrieve a specific PMPackagePtr.


Constructor & Destructor Documentation

RpmDb::Packages::Packages  )  [inline]
 


Member Function Documentation

void RpmDb::Packages::buildList  )  [inline]
 

void RpmDb::Packages::clear  )  [inline]
 

PMPackagePtr RpmDb::Packages::lookup const PkgName name_r  )  const [inline]
 


Member Data Documentation

map<PkgName,PMPackagePtr> RpmDb::Packages::_index
 

list<PMPackagePtr> RpmDb::Packages::_list
 

bool RpmDb::Packages::_valid
 


The documentation for this class was generated from the following file:
Generated on Fri Nov 9 14:30:33 2007 for yast2-packagemanager by doxygen 1.3.6