libzypp  15.28.6
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. More...
 
virtual ~PackageProviderImpl ()
 
virtual ManagedFile providePackage () const
 Provide the package. More...
 
virtual ManagedFile providePackageFromCache () const
 Provide the package if it is cached. More...
 
virtual bool isCached () const
 Whether the package is cached. More...
 
- Public Member Functions inherited from zypp::repo::PackageProvider::Impl
 Impl ()
 
virtual ~Impl ()
 

Protected Member Functions

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

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
< Package
Base
 
typedef callback::SendReport
< repo::DownloadResolvableReport
Report
 
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 491 of file PackageProvider.cc.

Member Typedef Documentation

Constructor & Destructor Documentation

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

Definition at line 494 of file PackageProvider.cc.

Member Function Documentation

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.

ProvideFilePolicy policy;
policy.progressCB( bind( &Base::progressPackageDownload, this, _1 ) );
return _access.provideFile( _package->repoInfo(), loc, policy );
Note
The provided default implementation retrieves the packages default location.

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

Definition at line 524 of file PackageProvider.cc.

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

Definition at line 550 of file PackageProvider.cc.

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

Definition at line 510 of file PackageProvider.cc.

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

Definition at line 513 of file PackageProvider.cc.

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

Definition at line 516 of file PackageProvider.cc.

Member Data Documentation

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

Definition at line 520 of file PackageProvider.cc.


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