132 return std::string(
"'(" ) +
root_r.asString() +
")" +
sub_r.asString() +
"'";
318 unsigned size()
const;
330 std::ostream &
dumpOn( std::ostream &
str )
const override;
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
Edition represents [epoch:]version[-release]
TraitsType::constPtrType constPtr
Base class for reference counted objects.
librpmDb internal database handle
Manage access to librpm database.
static bool _dbBlocked ZYPP_API
Whether access is blocked (no _defaultDb will be available).
intrusive_ptr< const librpmDb > constPtr
static unsigned dbRelease(bool force_r=false) ZYPP_API
If there are no outstanding references to the database (e.g.
bool findByFile(const std::string &file_r)
Reset to iterate all packages that own a certain file.
static const Pathname & defaultDbPath()
bool findByRequiredBy(const std::string &tag_r)
Reset to iterate all packages that require a certain tag.
const Pathname & dbPath() const
db_const_iterator & operator=(const db_const_iterator &)
const Pathname & root() const
static bool globalInit()
Initialize lib librpm (read configfiles etc.).
const RpmHeader::constPtr & operator->() const
Forwards to the current RpmHeader::constPtr.
db_const_iterator(const db_const_iterator &)
static const Pathname & defaultRoot()
bool findPackage(const std::string &name_r, const Edition &ed_r)
Find package by name and edition.
unsigned dbHdrNum() const
Returns the current headers index in database, 0 if no header.
const RpmHeader::constPtr & operator*() const
Returns the current RpmHeader::constPtr or NULL, if no more entries available.
db_const_iterator(librpmDb::constPtr dbptr_r=0)
Constructor.
bool findPackage(const Package::constPtr &which_r)
Abbr.
static std::string stringPath(const Pathname &root_r, const Pathname &sub_r)
bool findByName(const std::string &name_r)
Reset to iterate all packages with a certain name.
static std::ostream & dumpState(std::ostream &str)
Dump debug info.
static librpmDb::constPtr _defaultDb
Current rpmdb handle.
shared_ptr< RpmException > error() const
Return any database error.
bool findAll()
Reset to iterate all packages.
shared_ptr< RpmException > dbError() const
Return any database error.
static unsigned blockAccess() ZYPP_API
Blocks further access to rpmdb.
bool findByConflicts(const std::string &tag_r)
Reset to iterate all packages that conflict with a certain tag.
void operator++()
Advance to next RpmHeader::constPtr.
bool findByProvides(const std::string &tag_r)
Reset to iterate all packages that provide a certain tag.
static void unblockAccess() ZYPP_API
Allow access to rpmdb e.g.
static Pathname _rpmDefaultDbPath
_dbpath configured in rpm config.
static Pathname _defaultDbPath
Current directory (below root) that contains the rpmdb.
static librpmDb * newLibrpmDb()
For internal use.
std::ostream & dumpOn(std::ostream &str) const override
Dump debug info.
void * dont_call_it() const
Dont call it ;) It's for development and testing only.
static Pathname _defaultRoot
Current root directory for all operations.
friend std::ostream & operator<<(std::ostream &str, const db_const_iterator &obj)
static std::string expand(const std::string ¯o_r)
static void dbAccess(librpmDb::Ptr &ptr_r)
INTENTIONALLY UNDEFINED<\B> because of bug in Ptr classes which allows implicit conversion from librp...
bool findPackage(const std::string &name_r)
Find package by name.
~librpmDb() override
Destructor.
~db_const_iterator()
Destructor.
static void dbAccess()
Access the database at the current default location.
static bool isBlocked() ZYPP_API
intrusive_ptr< librpmDb > Ptr
static Pathname suggestedDbPath(const Pathname &root_r)
void unref_to(unsigned refCount_r) const override
Trigger from Rep, after refCount was decreased.
String related utilities and Regular expression matching.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Easy-to use interface to the ZYPP dependency resolver.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API