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

Wrapper class for rpm header struct. More...

#include <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
 
std::string string_val (tag tag_r) const
 
std::string format (const char *fmt) const
 
std::list< std::string > stringList_val (tag tag_r) const
 
virtual std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<. More...
 
- 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 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 std::ostream & dumpOn (std::ostream &str) const
 Overload to realize std::ostream & operator<<. More...
 
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 60 of file RpmHeader.h.

Member Typedef Documentation

◆ Ptr

◆ constPtr

Definition at line 64 of file RpmHeader.h.

Member Enumeration Documentation

◆ VERIFICATION

Digest and signature verification flags.

Enumerator
VERIFY 
NODIGEST 
NOSIGNATURE 
NOVERIFY 

Definition at line 190 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 406 of file RpmHeader.cc.

◆ isSrc()

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

Definition at line 284 of file RpmHeader.cc.

◆ isNosrc()

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

Definition at line 289 of file RpmHeader.cc.

◆ tag_name()

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

Definition at line 302 of file RpmHeader.cc.

◆ tag_epoch()

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

Definition at line 315 of file RpmHeader.cc.

◆ tag_version()

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

Definition at line 328 of file RpmHeader.cc.

◆ tag_release()

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

Definition at line 341 of file RpmHeader.cc.

◆ tag_edition()

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

Definition at line 354 of file RpmHeader.cc.

◆ tag_arch()

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

Definition at line 367 of file RpmHeader.cc.

◆ tag_installtime()

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

Definition at line 380 of file RpmHeader.cc.

◆ tag_buildtime()

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

Definition at line 393 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 550 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 563 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 576 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 589 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 602 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 615 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 632 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 649 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 666 of file RpmHeader.cc.

◆ tag_size()

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

Definition at line 683 of file RpmHeader.cc.

◆ tag_archivesize()

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

Definition at line 696 of file RpmHeader.cc.

◆ tag_summary()

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

Definition at line 709 of file RpmHeader.cc.

◆ tag_description()

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

Definition at line 722 of file RpmHeader.cc.

◆ tag_group()

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

Definition at line 735 of file RpmHeader.cc.

◆ tag_vendor()

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

Definition at line 748 of file RpmHeader.cc.

◆ tag_distribution()

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

Definition at line 761 of file RpmHeader.cc.

◆ tag_license()

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

Definition at line 774 of file RpmHeader.cc.

◆ tag_buildhost()

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

Definition at line 787 of file RpmHeader.cc.

◆ tag_packager()

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

Definition at line 800 of file RpmHeader.cc.

◆ tag_url()

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

Definition at line 813 of file RpmHeader.cc.

◆ tag_os()

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

Definition at line 826 of file RpmHeader.cc.

◆ tag_prein()

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

Definition at line 832 of file RpmHeader.cc.

◆ tag_preinprog()

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

Definition at line 835 of file RpmHeader.cc.

◆ tag_postin()

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

Definition at line 838 of file RpmHeader.cc.

◆ tag_postinprog()

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

Definition at line 841 of file RpmHeader.cc.

◆ tag_preun()

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

Definition at line 844 of file RpmHeader.cc.

◆ tag_preunprog()

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

Definition at line 847 of file RpmHeader.cc.

◆ tag_postun()

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

Definition at line 850 of file RpmHeader.cc.

◆ tag_postunprog()

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

Definition at line 853 of file RpmHeader.cc.

◆ tag_pretrans()

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

Definition at line 856 of file RpmHeader.cc.

◆ tag_pretransprog()

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

Definition at line 859 of file RpmHeader.cc.

◆ tag_posttrans()

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

Definition at line 862 of file RpmHeader.cc.

◆ tag_posttransprog()

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

Definition at line 865 of file RpmHeader.cc.

◆ tag_sourcerpm()

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

Definition at line 876 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 881 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 909 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 937 of file RpmHeader.cc.

◆ tag_changelog()

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

Definition at line 1018 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 266 of file RpmHeader.cc.

◆ readPackage()

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.


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