libzypp 17.31.23
zypp::repo::RpmPackageProvider Class Reference

RPM PackageProvider implementation (with deltarpm processing). More...

Inheritance diagram for zypp::repo::RpmPackageProvider:

Public Member Functions

 RpmPackageProvider (RepoMediaAccess &access_r, const Package::constPtr &package_r, const DeltaCandidates &deltas_r, const PackageProviderPolicy &policy_r)
 
- Public Member Functions inherited from zypp::repo::PackageProviderImpl< Package >
 PackageProviderImpl (RepoMediaAccess &access_r, const TPackagePtr &package_r, const PackageProviderPolicy &policy_r)
 Ctor taking the Package to provide.
 
virtual ~PackageProviderImpl ()
 
virtual ManagedFile providePackage () const
 Provide the package.
 
virtual ManagedFile providePackageFromCache () const
 Provide the package if it is cached.
 
virtual bool isCached () const
 Whether the package is cached.
 
- Public Member Functions inherited from zypp::repo::PackageProvider::Impl
 Impl ()
 
virtual ~Impl ()
 
virtual ManagedFile providePackage () const =0
 Provide the package.
 
virtual ManagedFile providePackageFromCache () const =0
 Provide the package if it is cached.
 
virtual bool isCached () const =0
 Whether the package is cached.
 

Protected Member Functions

virtual ManagedFile doProvidePackage () const
 Actually provide the final rpm.
 
- Protected Member Functions inherited from zypp::repo::PackageProviderImpl< Package >
ManagedFile doProvidePackageFromCache () const
 Lookup the final rpm in cache.
 
virtual ManagedFile doProvidePackage () const
 Actually provide the final rpm.
 
Reportreport () const
 Access to the DownloadResolvableReport.
 
bool progressPackageDownload (int value) const
 Redirect ProvideFilePolicy package download progress to this.
 
void rpmSigFileChecker (const Pathname &file_r) const
 
RpmDb::CheckPackageResult packageSigCheck (const Pathname &path_r, bool isMandatory_r, UserData &userData) const
 Actual rpm package signature check.
 
void resolveSignatureErrorAction (repo::DownloadResolvableReport::Action action_r) const
 React on signature verification error user action.
 
void defaultReportSignatureError (RpmDb::CheckPackageResult ret, const std::string &detail_r=std::string()) const
 Default signature verification error handling.
 

Private Types

typedef packagedelta::DeltaRpm DeltaRpm
 

Private Member Functions

ManagedFile tryDelta (const DeltaRpm &delta_r) const
 
bool progressDeltaDownload (int value) const
 
void progressDeltaApply (int value) const
 
bool queryInstalled (const Edition &ed_r=Edition()) const
 

Private Attributes

DeltaCandidates _deltas
 

Additional Inherited Members

- Protected Types inherited from zypp::repo::PackageProviderImpl< Package >
typedef PackageProviderImpl< PackageBase
 
typedef callback::SendReport< repo::DownloadResolvableReportReport
 
typedef target::rpm::RpmDb RpmDb
 
- Protected Attributes inherited from zypp::repo::PackageProviderImpl< Package >
PackageProviderPolicy _policy
 
TPackagePtr _package
 
RepoMediaAccess_access
 

Detailed Description

RPM PackageProvider implementation (with deltarpm processing).

Definition at line 522 of file PackageProvider.cc.

Member Typedef Documentation

◆ DeltaRpm

Constructor & Destructor Documentation

◆ RpmPackageProvider()

zypp::repo::RpmPackageProvider::RpmPackageProvider ( RepoMediaAccess access_r,
const Package::constPtr package_r,
const DeltaCandidates deltas_r,
const PackageProviderPolicy policy_r 
)
inline

Definition at line 525 of file PackageProvider.cc.

Member Function Documentation

◆ doProvidePackage()

ManagedFile zypp::repo::RpmPackageProvider::doProvidePackage ( ) const
protectedvirtual

Actually provide the final rpm.

Report start/problem/finish and retry loop are hadled by providePackage. Here you trigger just progress and delta/plugin callbacks as needed.

Proxy method for progressPackageDownload is provided here.

policy.progressCB( bind( &Base::progressPackageDownload, this, _1 ) );
return _access.provideFile( _package->repoInfo(), loc, policy );
Policy for provideFile and RepoMediaAccess.
ProvideFilePolicy & progressCB(ProgressCB progressCB_r)
Set callback.
bool progressPackageDownload(int value) const
Redirect ProvideFilePolicy package download progress to this.
ManagedFile provideFile(RepoInfo repo_r, const OnMediaLocation &loc_r, const ProvideFilePolicy &policy_r)
Provide a file from a Repository.
Note
The provided default implementation retrieves the packages default location.

Reimplemented from zypp::repo::PackageProviderImpl< Package >.

Definition at line 555 of file PackageProvider.cc.

◆ tryDelta()

ManagedFile zypp::repo::RpmPackageProvider::tryDelta ( const DeltaRpm delta_r) const
private

Definition at line 581 of file PackageProvider.cc.

◆ progressDeltaDownload()

bool zypp::repo::RpmPackageProvider::progressDeltaDownload ( int  value) const
inlineprivate

Definition at line 541 of file PackageProvider.cc.

◆ progressDeltaApply()

void zypp::repo::RpmPackageProvider::progressDeltaApply ( int  value) const
inlineprivate

Definition at line 544 of file PackageProvider.cc.

◆ queryInstalled()

bool zypp::repo::RpmPackageProvider::queryInstalled ( const Edition ed_r = Edition()) const
inlineprivate

Definition at line 547 of file PackageProvider.cc.

Member Data Documentation

◆ _deltas

DeltaCandidates zypp::repo::RpmPackageProvider::_deltas
private

Definition at line 551 of file PackageProvider.cc.


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