39 {
return str <<
"'(" << obj.
_root <<
")" << obj.
_sub <<
"'"; }
54 using Ptr = intrusive_ptr<librpmDb>;
55 using constPtr = intrusive_ptr<const librpmDb>;
85 static std::string
expand(
const std::string & macro_r );
158 void unref_to(
unsigned refCount_r )
const override;
182 std::ostream &
dumpOn( std::ostream &
str )
const override;
259 unsigned dbHdrNum() const;
286 bool findByFile(
const std::string & file_r );
291 bool findByProvides(
const std::string & tag_r );
296 bool findByRequiredBy(
const std::string & tag_r );
301 bool findByConflicts(
const std::string & tag_r );
313 bool findByName(
const std::string & name_r );
324 bool findPackage(
const std::string & name_r );
330 bool findPackage(
const std::string & name_r,
const Edition & ed_r );
TraitsType::constPtrType constPtr
static std::string expand(const std::string ¯o_r)
std::ostream & operator<<(std::ostream &str, const librpmDb::db_const_iterator &obj)
String related utilities and Regular expression matching.
static bool dbExists(const Pathname &root_r, const Pathname &dbPath_r=Pathname())
static librpmDb::constPtr dbOpenCreate(const Pathname &root_r, const Pathname &dbPath_r=Pathname())
Assert the rpmdb below the system at root_r exists.
Edition represents [epoch:]version[-release]
~librpmDb() override
Destructor.
std::ostream & dumpOn(std::ostream &str) const override
Dump debug info.
_dumpPath dumpPath(const Pathname &root_r, const Pathname &sub_r)
dumpPath iomaip to dump '(root_r)sub_r' output,
Subclass to retrieve rpm database content.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
intrusive_ptr< librpmDb > Ptr
Base class for reference counted objects.
const Pathname & root() const
static librpmDb::constPtr dbOpenIf(const Pathname &root_r, const Pathname &dbPath_r=Pathname())
Open the rpmdb below the system at root_r (if it exists).
void unref_to(unsigned refCount_r) const override
Trigger from Rep, after refCount was decreased.
librpmDb internal database handle
static bool globalInit()
Initialize lib librpm (read configfiles etc.).
static void dbAccess(librpmDb::Ptr &ptr_r)
INTENTIONALLY UNDEFINED<> because of bug in Ptr classes which allows implicit conversion from librpmD...
const Pathname & dbPath() const
intrusive_ptr< const librpmDb > constPtr
Easy-to use interface to the ZYPP dependency resolver.
static Pathname suggestedDbPath(const Pathname &root_r)
#define ZYPP_DEPRECATED
The ZYPP_DEPRECATED macro can be used to trigger compile-time warnings with gcc >= 3...
_dumpPath(const Pathname &root_r, const Pathname &sub_r)
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.