libzypp 17.31.7
|
Subclass to retrieve database content. More...
#include <target/rpm/librpmDb.h>
Classes | |
class | D |
Public Member Functions | |
db_const_iterator (librpmDb::constPtr dbptr_r=0) | |
Constructor. More... | |
~db_const_iterator () | |
Destructor. More... | |
shared_ptr< RpmException > | dbError () const |
Return any database error. More... | |
void | operator++ () |
Advance to next RpmHeader::constPtr. More... | |
unsigned | dbHdrNum () const |
Returns the current headers index in database, 0 if no header. More... | |
const RpmHeader::constPtr & | operator* () const |
Returns the current RpmHeader::constPtr or NULL, if no more entries available. More... | |
const RpmHeader::constPtr & | operator-> () const |
Forwards to the current RpmHeader::constPtr. More... | |
bool | findAll () |
Reset to iterate all packages. More... | |
bool | findByFile (const std::string &file_r) |
Reset to iterate all packages that own a certain file. More... | |
bool | findByProvides (const std::string &tag_r) |
Reset to iterate all packages that provide a certain tag. More... | |
bool | findByRequiredBy (const std::string &tag_r) |
Reset to iterate all packages that require a certain tag. More... | |
bool | findByConflicts (const std::string &tag_r) |
Reset to iterate all packages that conflict with a certain tag. More... | |
bool | findByName (const std::string &name_r) |
Reset to iterate all packages with a certain name. More... | |
bool | findPackage (const std::string &name_r) |
Find package by name. More... | |
bool | findPackage (const std::string &name_r, const Edition &ed_r) |
Find package by name and edition. More... | |
bool | findPackage (const Package::constPtr &which_r) |
Abbr. More... | |
Private Member Functions | |
db_const_iterator & | operator= (const db_const_iterator &) |
db_const_iterator (const db_const_iterator &) | |
Private Attributes | |
D & | _d |
Friends | |
class | librpmDb |
std::ostream & | operator<< (std::ostream &str, const db_const_iterator &obj) |
Subclass to retrieve database content.
Definition at line 335 of file librpmDb.h.
|
private |
zypp::target::rpm::librpmDb::db_const_iterator::db_const_iterator | ( | librpmDb::constPtr | dbptr_r = 0 | ) |
Constructor.
Iterator is initialized to findAll. The default form accesses librpmDb's default database. Explicitly providing a database handle should not be neccesary, except for testing.
Definition at line 636 of file librpmDb.cc.
zypp::target::rpm::librpmDb::db_const_iterator::~db_const_iterator | ( | ) |
Destructor.
Definition at line 648 of file librpmDb.cc.
|
private |
shared_ptr< RpmException > zypp::target::rpm::librpmDb::db_const_iterator::dbError | ( | ) | const |
Return any database error.
NOTE: If the database gets blocked (see dbRelease) dbError will immediately report this, but an already running iteration will proceed to its end. Then the database is dropped.
Definition at line 692 of file librpmDb.cc.
void zypp::target::rpm::librpmDb::db_const_iterator::operator++ | ( | ) |
Advance to next RpmHeader::constPtr.
Definition at line 659 of file librpmDb.cc.
unsigned zypp::target::rpm::librpmDb::db_const_iterator::dbHdrNum | ( | ) | const |
Returns the current headers index in database, 0 if no header.
Definition at line 670 of file librpmDb.cc.
const RpmHeader::constPtr & zypp::target::rpm::librpmDb::db_const_iterator::operator* | ( | ) | const |
Returns the current RpmHeader::constPtr or NULL, if no more entries available.
Definition at line 681 of file librpmDb.cc.
|
inline |
Forwards to the current RpmHeader::constPtr.
Definition at line 394 of file librpmDb.h.
bool zypp::target::rpm::librpmDb::db_const_iterator::findAll | ( | ) |
Reset to iterate all packages.
Returns true if iterator contains at least one entry.
NOTE: No entry (false) migt be returned due to a meanwhile blocked database (see dbRelease). Use dbError to check this.
Definition at line 721 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findByFile | ( | const std::string & | file_r | ) |
Reset to iterate all packages that own a certain file.
Definition at line 732 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findByProvides | ( | const std::string & | tag_r | ) |
Reset to iterate all packages that provide a certain tag.
Definition at line 743 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findByRequiredBy | ( | const std::string & | tag_r | ) |
Reset to iterate all packages that require a certain tag.
Definition at line 754 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findByConflicts | ( | const std::string & | tag_r | ) |
Reset to iterate all packages that conflict with a certain tag.
Definition at line 765 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findByName | ( | const std::string & | name_r | ) |
Reset to iterate all packages with a certain name.
NOTE: Multiple entries for one package installed in different versions are possible but not desired. Usually you'll want to use findPackage instead.
findByName is needed to retrieve pseudo packages like 'gpg-pubkey', which in fact exist in multiple instances.
Definition at line 776 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findPackage | ( | const std::string & | name_r | ) |
Find package by name.
Multiple entries for one package installed in different versions are possible but not desired. If so, the last package installed is returned.
Definition at line 787 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findPackage | ( | const std::string & | name_r, |
const Edition & | ed_r | ||
) |
Find package by name and edition.
Commonly used by PMRpmPackageDataProvider.
Definition at line 816 of file librpmDb.cc.
bool zypp::target::rpm::librpmDb::db_const_iterator::findPackage | ( | const Package::constPtr & | which_r | ) |
Abbr.
for findPackage( which_r->name(), which_r->edition() );
Definition at line 839 of file librpmDb.cc.
|
friend |
Definition at line 340 of file librpmDb.h.
|
friend |
Definition at line 706 of file librpmDb.cc.
|
private |
Definition at line 348 of file librpmDb.h.