libzypp  17.29.1
zypp::target::rpm::RpmHeader Class Reference

Wrapper class for rpm header struct. More...

#include <target/rpm/RpmHeader.h>

Inheritance diagram for zypp::target::rpm::RpmHeader:

Public Types

enum  VERIFICATION { VERIFY = 0x0000 , NODIGEST = (1<<0) , NOSIGNATURE = (1<<1) , NOVERIFY = 0xffff }
 Digest and signature verification flags. More...
 
typedef intrusive_ptr< RpmHeaderPtr
 
typedef intrusive_ptr< const RpmHeaderconstPtr
 
- Public Types inherited from zypp::target::rpm::BinHeader
typedef intrusive_ptr< BinHeaderPtr
 
typedef intrusive_ptr< const BinHeaderconstPtr
 
typedef rpmTag tag
 

Public Member Functions

 RpmHeader (Header h_r=0)
 
 RpmHeader (BinHeader::Ptr &rhs)
 Dangerous!<\B> This one takes the header out of rhs and leaves rhs empty. More...
 
virtual ~RpmHeader ()
 
bool isSrc () const
 
bool isNosrc () const
 
std::string tag_name () const
 
Edition::epoch_t tag_epoch () const
 
std::string tag_version () const
 
std::string tag_release () const
 
Edition tag_edition () const
 
Arch tag_arch () const
 
Date tag_installtime () const
 
Date tag_buildtime () const
 
CapabilitySet tag_provides (std::set< std::string > *freq_r=0) const
 If freq_r is not NULL, file dependencies found are inserted. More...
 
CapabilitySet tag_requires (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_prerequires (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_conflicts (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_obsoletes (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_enhances (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_suggests (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_supplements (std::set< std::string > *freq_r=0) const
 
CapabilitySet tag_recommends (std::set< std::string > *freq_r=0) const
 
ByteCount tag_size () const
 
ByteCount tag_archivesize () const
 
std::string tag_summary () const
 
std::string tag_description () const
 
std::string tag_group () const
 
std::string tag_vendor () const
 
std::string tag_distribution () const
 
std::string tag_license () const
 
std::string tag_buildhost () const
 
std::string tag_packager () const
 
std::string tag_url () const
 
std::string tag_os () const
 
std::string tag_prein () const
 
std::string tag_preinprog () const
 
std::string tag_postin () const
 
std::string tag_postinprog () const
 
std::string tag_preun () const
 
std::string tag_preunprog () const
 
std::string tag_postun () const
 
std::string tag_postunprog () const
 
std::string tag_pretrans () const
 
std::string tag_pretransprog () const
 
std::string tag_posttrans () const
 
std::string tag_posttransprog () const
 
std::string tag_sourcerpm () const
 
std::string signatureKeyID () const
 Uses headerFormat to query the signature info from the header. More...
 
std::list< std::string > tag_filenames () const
 just the list of names
More...
 
std::list< FileInfotag_fileinfos () const
 complete information about the files (extended version of tag_filenames()) More...
 
Changelog tag_changelog () const
 
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<. More...
 
- Public Member Functions inherited from zypp::target::rpm::BinHeader
 BinHeader (Header h_r=0)
 
 BinHeader (BinHeader::Ptr &rhs)
 Dangerous!<\B> This one takes the header out of rhs and leaves rhs empty. More...
 
virtual ~BinHeader ()
 
bool empty () const
 
bool has_tag (tag tag_r) const
 
unsigned int_list (tag tag_r, intList &lst_r) const
 
unsigned string_list (tag tag_r, stringList &lst_r) const
 
int int_val (tag tag_r) const
 
ByteArray blob_val (tag tag_r) const
 
std::string string_val (tag tag_r) const
 
std::string format (const char *fmt) const
 
Header get () const
 
std::list< std::string > stringList_val (tag tag_r) const
 
- Public Member Functions inherited from zypp::base::ReferenceCounted
 ReferenceCounted ()
 Default ctor. More...
 
 ReferenceCounted (const ReferenceCounted &rhs)
 Copy ctor. More...
 
virtual ~ReferenceCounted ()
 Dtor. More...
 
ReferenceCountedoperator= (const ReferenceCounted &)
 Assignment. More...
 
unsigned refCount () const
 Return reference counter value. More...
 
void ref () const
 Add a reference. More...
 
void unref () const
 Release a reference. More...
 

Static Public Member Functions

static RpmHeader::constPtr readPackage (const Pathname &path, VERIFICATION verification=VERIFY)
 Get an accessible packages data from disk. More...
 
static std::pair< RpmHeader::Ptr, int > readPackage (rpmts ts_r, const Pathname &path_r)
 Get an accessible packages data from disk using a existing transaction. More...
 
- Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void add_ref (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 
static void release (const ReferenceCounted *ptr_r)
 Called by zypp::intrusive_ptr to add a reference. More...
 

Private Member Functions

CapabilitySet PkgRelList_val (tag tag_r, bool pre, std::set< std::string > *freq_r=0) const
 

Additional Inherited Members

- Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual void ref_to (unsigned) const
 Trigger derived classes after refCount was increased. More...
 
virtual void unref_to (unsigned) const
 Trigger derived classes after refCount was decreased. More...
 

Detailed Description

Wrapper class for rpm header struct.

RpmHeader provides methods to query the content of a rpm header struct retrieved from the RPM database or by reading the rpm header of a package on disk.

The rpm header contains all data associated with a package. So you probabely do not want to permanently store too many of them.

NEVER create RpmHeader from a NULL Header!

Definition at line 61 of file RpmHeader.h.

Member Typedef Documentation

◆ Ptr

◆ constPtr

Definition at line 65 of file RpmHeader.h.

Member Enumeration Documentation

◆ VERIFICATION

Digest and signature verification flags.

Enumerator
VERIFY 
NODIGEST 
NOSIGNATURE 
NOVERIFY 

Definition at line 191 of file RpmHeader.h.

Constructor & Destructor Documentation

◆ RpmHeader() [1/2]

zypp::target::rpm::RpmHeader::RpmHeader ( Header  h_r = 0)

Definition at line 179 of file RpmHeader.cc.

◆ RpmHeader() [2/2]

zypp::target::rpm::RpmHeader::RpmHeader ( BinHeader::Ptr rhs)

Dangerous!<\B> This one takes the header out of rhs and leaves rhs empty.

Definition at line 189 of file RpmHeader.cc.

◆ ~RpmHeader()

zypp::target::rpm::RpmHeader::~RpmHeader ( )
virtual

Definition at line 201 of file RpmHeader.cc.

Member Function Documentation

◆ PkgRelList_val()

CapabilitySet zypp::target::rpm::RpmHeader::PkgRelList_val ( tag  tag_r,
bool  pre,
std::set< std::string > *  freq_r = 0 
) const
private

Definition at line 409 of file RpmHeader.cc.

◆ isSrc()

bool zypp::target::rpm::RpmHeader::isSrc ( ) const

Definition at line 287 of file RpmHeader.cc.

◆ isNosrc()

bool zypp::target::rpm::RpmHeader::isNosrc ( ) const

Definition at line 292 of file RpmHeader.cc.

◆ tag_name()

std::string zypp::target::rpm::RpmHeader::tag_name ( ) const

Definition at line 305 of file RpmHeader.cc.

◆ tag_epoch()

Edition::epoch_t zypp::target::rpm::RpmHeader::tag_epoch ( ) const

Definition at line 318 of file RpmHeader.cc.

◆ tag_version()

std::string zypp::target::rpm::RpmHeader::tag_version ( ) const

Definition at line 331 of file RpmHeader.cc.

◆ tag_release()

std::string zypp::target::rpm::RpmHeader::tag_release ( ) const

Definition at line 344 of file RpmHeader.cc.

◆ tag_edition()

Edition zypp::target::rpm::RpmHeader::tag_edition ( ) const

Definition at line 357 of file RpmHeader.cc.

◆ tag_arch()

Arch zypp::target::rpm::RpmHeader::tag_arch ( ) const

Definition at line 370 of file RpmHeader.cc.

◆ tag_installtime()

Date zypp::target::rpm::RpmHeader::tag_installtime ( ) const

Definition at line 383 of file RpmHeader.cc.

◆ tag_buildtime()

Date zypp::target::rpm::RpmHeader::tag_buildtime ( ) const

Definition at line 396 of file RpmHeader.cc.

◆ tag_provides()

CapabilitySet zypp::target::rpm::RpmHeader::tag_provides ( std::set< std::string > *  freq_r = 0) const

If freq_r is not NULL, file dependencies found are inserted.

Definition at line 553 of file RpmHeader.cc.

◆ tag_requires()

CapabilitySet zypp::target::rpm::RpmHeader::tag_requires ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 566 of file RpmHeader.cc.

◆ tag_prerequires()

CapabilitySet zypp::target::rpm::RpmHeader::tag_prerequires ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 579 of file RpmHeader.cc.

◆ tag_conflicts()

CapabilitySet zypp::target::rpm::RpmHeader::tag_conflicts ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 592 of file RpmHeader.cc.

◆ tag_obsoletes()

CapabilitySet zypp::target::rpm::RpmHeader::tag_obsoletes ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 605 of file RpmHeader.cc.

◆ tag_enhances()

CapabilitySet zypp::target::rpm::RpmHeader::tag_enhances ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 618 of file RpmHeader.cc.

◆ tag_suggests()

CapabilitySet zypp::target::rpm::RpmHeader::tag_suggests ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 635 of file RpmHeader.cc.

◆ tag_supplements()

CapabilitySet zypp::target::rpm::RpmHeader::tag_supplements ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 652 of file RpmHeader.cc.

◆ tag_recommends()

CapabilitySet zypp::target::rpm::RpmHeader::tag_recommends ( std::set< std::string > *  freq_r = 0) const
See also
tag_provides

Definition at line 669 of file RpmHeader.cc.

◆ tag_size()

ByteCount zypp::target::rpm::RpmHeader::tag_size ( ) const

Definition at line 686 of file RpmHeader.cc.

◆ tag_archivesize()

ByteCount zypp::target::rpm::RpmHeader::tag_archivesize ( ) const

Definition at line 699 of file RpmHeader.cc.

◆ tag_summary()

std::string zypp::target::rpm::RpmHeader::tag_summary ( ) const

Definition at line 712 of file RpmHeader.cc.

◆ tag_description()

std::string zypp::target::rpm::RpmHeader::tag_description ( ) const

Definition at line 725 of file RpmHeader.cc.

◆ tag_group()

std::string zypp::target::rpm::RpmHeader::tag_group ( ) const

Definition at line 738 of file RpmHeader.cc.

◆ tag_vendor()

std::string zypp::target::rpm::RpmHeader::tag_vendor ( ) const

Definition at line 751 of file RpmHeader.cc.

◆ tag_distribution()

std::string zypp::target::rpm::RpmHeader::tag_distribution ( ) const

Definition at line 764 of file RpmHeader.cc.

◆ tag_license()

std::string zypp::target::rpm::RpmHeader::tag_license ( ) const

Definition at line 777 of file RpmHeader.cc.

◆ tag_buildhost()

std::string zypp::target::rpm::RpmHeader::tag_buildhost ( ) const

Definition at line 790 of file RpmHeader.cc.

◆ tag_packager()

std::string zypp::target::rpm::RpmHeader::tag_packager ( ) const

Definition at line 803 of file RpmHeader.cc.

◆ tag_url()

std::string zypp::target::rpm::RpmHeader::tag_url ( ) const

Definition at line 816 of file RpmHeader.cc.

◆ tag_os()

std::string zypp::target::rpm::RpmHeader::tag_os ( ) const

Definition at line 829 of file RpmHeader.cc.

◆ tag_prein()

std::string zypp::target::rpm::RpmHeader::tag_prein ( ) const

Definition at line 835 of file RpmHeader.cc.

◆ tag_preinprog()

std::string zypp::target::rpm::RpmHeader::tag_preinprog ( ) const

Definition at line 838 of file RpmHeader.cc.

◆ tag_postin()

std::string zypp::target::rpm::RpmHeader::tag_postin ( ) const

Definition at line 841 of file RpmHeader.cc.

◆ tag_postinprog()

std::string zypp::target::rpm::RpmHeader::tag_postinprog ( ) const

Definition at line 844 of file RpmHeader.cc.

◆ tag_preun()

std::string zypp::target::rpm::RpmHeader::tag_preun ( ) const

Definition at line 847 of file RpmHeader.cc.

◆ tag_preunprog()

std::string zypp::target::rpm::RpmHeader::tag_preunprog ( ) const

Definition at line 850 of file RpmHeader.cc.

◆ tag_postun()

std::string zypp::target::rpm::RpmHeader::tag_postun ( ) const

Definition at line 853 of file RpmHeader.cc.

◆ tag_postunprog()

std::string zypp::target::rpm::RpmHeader::tag_postunprog ( ) const

Definition at line 856 of file RpmHeader.cc.

◆ tag_pretrans()

std::string zypp::target::rpm::RpmHeader::tag_pretrans ( ) const

Definition at line 859 of file RpmHeader.cc.

◆ tag_pretransprog()

std::string zypp::target::rpm::RpmHeader::tag_pretransprog ( ) const

Definition at line 862 of file RpmHeader.cc.

◆ tag_posttrans()

std::string zypp::target::rpm::RpmHeader::tag_posttrans ( ) const

Definition at line 865 of file RpmHeader.cc.

◆ tag_posttransprog()

std::string zypp::target::rpm::RpmHeader::tag_posttransprog ( ) const

Definition at line 868 of file RpmHeader.cc.

◆ tag_sourcerpm()

std::string zypp::target::rpm::RpmHeader::tag_sourcerpm ( ) const

Definition at line 879 of file RpmHeader.cc.

◆ signatureKeyID()

std::string zypp::target::rpm::RpmHeader::signatureKeyID ( ) const

Uses headerFormat to query the signature info from the header.

Note
Query copied from Yum misc/checksig.py

Definition at line 884 of file RpmHeader.cc.

◆ tag_filenames()

std::list< std::string > zypp::target::rpm::RpmHeader::tag_filenames ( ) const

just the list of names

Definition at line 912 of file RpmHeader.cc.

◆ tag_fileinfos()

std::list< FileInfo > zypp::target::rpm::RpmHeader::tag_fileinfos ( ) const

complete information about the files (extended version of tag_filenames())

Definition at line 940 of file RpmHeader.cc.

◆ tag_changelog()

Changelog zypp::target::rpm::RpmHeader::tag_changelog ( ) const

Definition at line 1021 of file RpmHeader.cc.

◆ dumpOn()

std::ostream & zypp::target::rpm::RpmHeader::dumpOn ( std::ostream &  str) const
virtual

Overload to realize std::ostream & operator<<.

Reimplemented from zypp::target::rpm::BinHeader.

Definition at line 269 of file RpmHeader.cc.

◆ readPackage() [1/2]

RpmHeader::constPtr zypp::target::rpm::RpmHeader::readPackage ( const Pathname path,
VERIFICATION  verification = VERIFY 
)
static

Get an accessible packages data from disk.

Returns NULL on any error.

Definition at line 210 of file RpmHeader.cc.

◆ readPackage() [2/2]

std::pair< RpmHeader::Ptr, int > zypp::target::rpm::RpmHeader::readPackage ( rpmts  ts_r,
const Pathname path_r 
)
static

Get an accessible packages data from disk using a existing transaction.

Returns a std::pair container the header and resultcode from reading it

Definition at line 226 of file RpmHeader.cc.


The documentation for this class was generated from the following files: