libzypp 17.36.4
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, Package::constPtr &&package_r, DeltaCandidates &&deltas_r, PackageProviderPolicy &&policy_r)
 
- Public Member Functions inherited from zypp::repo::PackageProviderImpl< Package >
 PackageProviderImpl (RepoMediaAccess &access_r, TPackagePtr &&package_r, PackageProviderPolicy &&policy_r)
 Ctor taking the Package to provide.
 
 PackageProviderImpl (const PackageProviderImpl &)=delete
 
 PackageProviderImpl (PackageProviderImpl &&)=delete
 
PackageProviderImploperator= (const PackageProviderImpl &)=delete
 
PackageProviderImploperator= (PackageProviderImpl &&)=delete
 
 ~PackageProviderImpl () override
 
ManagedFile providePackage () const override
 Provide the package.
 
ManagedFile providePackageFromCache () const override
 Provide the package if it is cached.
 
bool isCached () const override
 Whether the package is cached.
 
- Public Member Functions inherited from zypp::repo::PackageProvider::Impl
 Impl ()
 
 Impl (const Impl &)=delete
 
 Impl (Impl &&)=delete
 
Imploperator= (const Impl &)=delete
 
Imploperator= (Impl &&)=delete
 
virtual ~Impl ()
 

Protected Member Functions

ManagedFile doProvidePackage () const override
 Actually provide the final rpm.
 
- Protected Member Functions inherited from zypp::repo::PackageProviderImpl< Package >
ManagedFile doProvidePackageFromCache () const
 Lookup the final rpm in cache.
 
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

using DeltaRpm = packagedelta::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 >
using Base
 
using Report
 
using RpmDb
 
PackageProviderPolicy _policy
 
TPackagePtr _package
 
RepoMediaAccess_access
 

Detailed Description

RPM PackageProvider implementation (with deltarpm processing).

Definition at line 534 of file PackageProvider.cc.

Member Typedef Documentation

◆ DeltaRpm

Constructor & Destructor Documentation

◆ RpmPackageProvider()

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

Definition at line 537 of file PackageProvider.cc.

Member Function Documentation

◆ doProvidePackage()

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

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.
Note
The provided default implementation retrieves the packages default location.

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

Definition at line 567 of file PackageProvider.cc.

◆ tryDelta()

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

Definition at line 593 of file PackageProvider.cc.

◆ progressDeltaDownload()

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

Definition at line 553 of file PackageProvider.cc.

◆ progressDeltaApply()

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

Definition at line 556 of file PackageProvider.cc.

◆ queryInstalled()

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

Definition at line 559 of file PackageProvider.cc.

Member Data Documentation

◆ _deltas

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

Definition at line 563 of file PackageProvider.cc.


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