zypp::repo::PackageProvider Class Reference

Provide a package from a Source. More...

#include <PackageProvider.h>

Inheritance diagram for zypp::repo::PackageProvider:
[legend]

List of all members.

Public Member Functions

 PackageProvider (RepoMediaAccess &access, const Package::constPtr &package, const DeltaCandidates &deltas, const PackageProviderPolicy &policy_r=PackageProviderPolicy())
 Ctor taking the Package to provide.
 ~PackageProvider ()
ManagedFile providePackage () const
 Provide the package.

Private Types

typedef shared_ptr
< void > 
ScopedGuard
typedef
callback::SendReport
< repo::DownloadResolvableReport
Report
typedef
detail::ResImplTraits
< Package::Impl >
::constPtr 
PackageImpl_constPtr
typedef
packagedelta::DeltaRpm 
DeltaRpm
typedef
packagedelta::PatchRpm 
PatchRpm

Private Member Functions

ManagedFile doProvidePackage () const
ManagedFile tryDelta (const DeltaRpm &delta_r) const
ManagedFile tryPatch (const PatchRpm &patch_r) const
ScopedGuard newReport () const
Reportreport () const
bool progressDeltaDownload (int value) const
void progressDeltaApply (int value) const
bool progressPatchDownload (int value) const
bool progressPackageDownload (int value) const
bool failOnChecksumError () const
bool queryInstalled (const Edition &ed_r=Edition()) const

Private Attributes

PackageProviderPolicy _policy
Package::constPtr _package
PackageImpl_constPtr _implPtr
bool _retry
shared_ptr< Report_report
DeltaCandidates _deltas
RepoMediaAccess_access


Detailed Description

Provide a package from a Source.

Use available delta/patch-rpm if apropriate.

Definition at line 65 of file PackageProvider.h.


Member Typedef Documentation

typedef shared_ptr<void> zypp::repo::PackageProvider::ScopedGuard [private]

Definition at line 67 of file PackageProvider.h.

typedef callback::SendReport<repo::DownloadResolvableReport> zypp::repo::PackageProvider::Report [private]

Definition at line 68 of file PackageProvider.h.

typedef detail::ResImplTraits<Package::Impl>::constPtr zypp::repo::PackageProvider::PackageImpl_constPtr [private]

Definition at line 70 of file PackageProvider.h.

typedef packagedelta::DeltaRpm zypp::repo::PackageProvider::DeltaRpm [private]

Definition at line 71 of file PackageProvider.h.

typedef packagedelta::PatchRpm zypp::repo::PackageProvider::PatchRpm [private]

Definition at line 72 of file PackageProvider.h.


Constructor & Destructor Documentation

zypp::repo::PackageProvider::PackageProvider ( RepoMediaAccess access,
const Package::constPtr package,
const DeltaCandidates deltas,
const PackageProviderPolicy policy_r = PackageProviderPolicy() 
)

Ctor taking the Package to provide.

Definition at line 75 of file PackageProvider.cc.

zypp::repo::PackageProvider::~PackageProvider (  ) 

Definition at line 86 of file PackageProvider.cc.


Member Function Documentation

ManagedFile zypp::repo::PackageProvider::providePackage (  )  const

Provide the package.

Exceptions:
Exception. 

Definition at line 89 of file PackageProvider.cc.

References _package, _retry, zypp::RepoInfo::baseUrlsBegin(), zypp::RepoInfo::baseUrlsEmpty(), doProvidePackage(), ERR, MIL, newReport(), zypp::repo::DownloadResolvableReport::NO_ERROR, report(), url, ZYPP_RETHROW, and ZYPP_THROW.

Referenced by zypp::target::RepoProvidePackage::operator()().

ManagedFile zypp::repo::PackageProvider::doProvidePackage (  )  const [private]

Definition at line 124 of file PackageProvider.cc.

References _access, _deltas, _package, zypp::RepoInfo::baseUrlsBegin(), zypp::RepoInfo::baseUrlsEmpty(), DBG, zypp::repo::DeltaCandidates::deltaRpms(), zypp::ZConfig::download_use_patchrpm(), failOnChecksumError(), zypp::ProvideFilePolicy::failOnChecksumErrorCB(), zypp::applydeltarpm::haveApplydeltarpm(), zypp::ZConfig::instance(), zypp::repo::DeltaCandidates::patchRpms(), zypp::ProvideFilePolicy::progressCB(), progressPackageDownload(), zypp::repo::RepoMediaAccess::provideFile(), queryInstalled(), tryDelta(), tryPatch(), url, and ZYPP_THROW.

Referenced by providePackage().

ManagedFile zypp::repo::PackageProvider::tryDelta ( const DeltaRpm delta_r  )  const [private]

Definition at line 209 of file PackageProvider.cc.

References _, _access, _package, zypp::Exception::asUserString(), zypp::packagedelta::DeltaRpm::baseversion(), zypp::applydeltarpm::check(), zypp::repo::defRpmFileName(), zypp::OnMediaLocation::downloadSize(), zypp::OnMediaLocation::filename(), zypp::packagedelta::DeltaRpm::location(), zypp::Edition::noedition, zypp::ProvideFilePolicy::progressCB(), progressDeltaApply(), progressDeltaDownload(), zypp::applydeltarpm::provide(), zypp::repo::RepoMediaAccess::provideFile(), queryInstalled(), zypp::applydeltarpm::quickcheck(), report(), and zypp::filesystem::unlink().

Referenced by doProvidePackage().

ManagedFile zypp::repo::PackageProvider::tryPatch ( const PatchRpm patch_r  )  const [private]

Definition at line 259 of file PackageProvider.cc.

References _access, _package, zypp::Exception::asUserString(), zypp::packagedelta::PatchRpm::baseversions(), zypp::OnMediaLocation::downloadSize(), zypp::OnMediaLocation::filename(), zypp::packagedelta::PatchRpm::location(), zypp::ProvideFilePolicy::progressCB(), progressPatchDownload(), zypp::repo::RepoMediaAccess::provideFile(), queryInstalled(), and report().

Referenced by doProvidePackage().

PackageProvider::ScopedGuard zypp::repo::PackageProvider::newReport (  )  const [private]

Definition at line 288 of file PackageProvider.cc.

References _report.

Referenced by providePackage().

PackageProvider::Report & zypp::repo::PackageProvider::report (  )  const [private]

Definition at line 298 of file PackageProvider.cc.

References _report.

Referenced by failOnChecksumError(), progressDeltaApply(), progressDeltaDownload(), progressPackageDownload(), progressPatchDownload(), providePackage(), tryDelta(), and tryPatch().

bool zypp::repo::PackageProvider::progressDeltaDownload ( int  value  )  const [private]

Definition at line 301 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

void zypp::repo::PackageProvider::progressDeltaApply ( int  value  )  const [private]

Definition at line 304 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

bool zypp::repo::PackageProvider::progressPatchDownload ( int  value  )  const [private]

Definition at line 307 of file PackageProvider.cc.

References report().

Referenced by tryPatch().

bool zypp::repo::PackageProvider::progressPackageDownload ( int  value  )  const [private]

Definition at line 310 of file PackageProvider.cc.

References _package, and report().

Referenced by doProvidePackage().

bool zypp::repo::PackageProvider::failOnChecksumError (  )  const [private]

Definition at line 313 of file PackageProvider.cc.

References _, _package, _retry, zypp::repo::DownloadResolvableReport::ABORT, zypp::str::form(), zypp::repo::DownloadResolvableReport::IGNORE, zypp::repo::DownloadResolvableReport::INVALID, report(), zypp::repo::DownloadResolvableReport::RETRY, and ZYPP_THROW.

Referenced by doProvidePackage().

bool zypp::repo::PackageProvider::queryInstalled ( const Edition ed_r = Edition()  )  const [private]

Definition at line 335 of file PackageProvider.cc.

References _package, _policy, and zypp::repo::PackageProviderPolicy::queryInstalled().

Referenced by doProvidePackage(), tryDelta(), and tryPatch().


Member Data Documentation

PackageProviderPolicy zypp::repo::PackageProvider::_policy [private]

Definition at line 105 of file PackageProvider.h.

Referenced by queryInstalled().

Package::constPtr zypp::repo::PackageProvider::_package [private]

Definition at line 106 of file PackageProvider.h.

Referenced by doProvidePackage(), failOnChecksumError(), progressPackageDownload(), providePackage(), queryInstalled(), tryDelta(), and tryPatch().

PackageImpl_constPtr zypp::repo::PackageProvider::_implPtr [private]

Definition at line 107 of file PackageProvider.h.

bool zypp::repo::PackageProvider::_retry [mutable, private]

Definition at line 108 of file PackageProvider.h.

Referenced by failOnChecksumError(), and providePackage().

shared_ptr<Report> zypp::repo::PackageProvider::_report [mutable, private]

Definition at line 109 of file PackageProvider.h.

Referenced by newReport(), and report().

DeltaCandidates zypp::repo::PackageProvider::_deltas [private]

Definition at line 110 of file PackageProvider.h.

Referenced by doProvidePackage().

RepoMediaAccess& zypp::repo::PackageProvider::_access [private]

Definition at line 111 of file PackageProvider.h.

Referenced by doProvidePackage(), tryDelta(), and tryPatch().


The documentation for this class was generated from the following files:
Generated on Tue Sep 25 19:23:25 2007 for libzypp by  doxygen 1.5.3