zypp::source::PackageProvider Class Reference

Provide a package from a Source. More...

#include <PackageProvider.h>

Inheritance diagram for zypp::source::PackageProvider:

NonCopyable List of all members.

Public Member Functions

 PackageProvider (const Package::constPtr &package, 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<
source::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

Detailed Description

Provide a package from a Source.

Use available delta/patch-rpm if apropriate.

Definition at line 61 of file PackageProvider.h.


Member Typedef Documentation

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

Definition at line 63 of file PackageProvider.h.

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

Definition at line 64 of file PackageProvider.h.

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

Definition at line 66 of file PackageProvider.h.

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

Definition at line 67 of file PackageProvider.h.

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

Definition at line 68 of file PackageProvider.h.


Constructor & Destructor Documentation

zypp::source::PackageProvider::PackageProvider const Package::constPtr package,
const PackageProviderPolicy policy_r = PackageProviderPolicy()
 

Ctor taking the Package to provide.

Definition at line 64 of file PackageProvider.cc.

zypp::source::PackageProvider::~PackageProvider  ) 
 

Definition at line 71 of file PackageProvider.cc.


Member Function Documentation

ManagedFile zypp::source::PackageProvider::providePackage  )  const
 

Provide the package.

Exceptions:
Exception. 

Definition at line 74 of file PackageProvider.cc.

References _package, _retry, doProvidePackage(), ERR, MIL, newReport(), zypp::source::DownloadResolvableReport::NO_ERROR, report(), and ZYPP_RETHROW.

Referenced by zypp::target::TargetImpl::commit().

ManagedFile zypp::source::PackageProvider::doProvidePackage  )  const [private]
 

Definition at line 101 of file PackageProvider.cc.

References _implPtr, _package, DBG, zypp::applydeltarpm::haveApplydeltarpm(), queryInstalled(), and tryDelta().

Referenced by providePackage().

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

Definition at line 153 of file PackageProvider.cc.

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

Referenced by doProvidePackage().

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

Definition at line 202 of file PackageProvider.cc.

References _package, zypp::Exception::asUserString(), zypp::packagedelta::PatchRpm::baseversions(), zypp::source::OnMediaLocation::downloadsize(), zypp::source::OnMediaLocation::filename(), zypp::packagedelta::PatchRpm::location(), zypp::source::ProvideFilePolicy::progressCB(), progressPatchDownload(), zypp::source::provideFile(), queryInstalled(), and report().

PackageProvider::ScopedGuard zypp::source::PackageProvider::newReport  )  const [private]
 

Definition at line 231 of file PackageProvider.cc.

References _report.

Referenced by providePackage().

PackageProvider::Report & zypp::source::PackageProvider::report  )  const [private]
 

Definition at line 241 of file PackageProvider.cc.

References _report.

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

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

Definition at line 244 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

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

Definition at line 247 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

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

Definition at line 250 of file PackageProvider.cc.

References report().

Referenced by tryPatch().

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

Definition at line 253 of file PackageProvider.cc.

References _package, and report().

bool zypp::source::PackageProvider::failOnChecksumError  )  const [private]
 

Definition at line 256 of file PackageProvider.cc.

References _package, _retry, zypp::source::DownloadResolvableReport::INVALID, report(), and zypp::source::DownloadResolvableReport::RETRY.

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

Definition at line 273 of file PackageProvider.cc.

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

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


Member Data Documentation

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

Definition at line 99 of file PackageProvider.h.

Referenced by queryInstalled().

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

Definition at line 100 of file PackageProvider.h.

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

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

Definition at line 101 of file PackageProvider.h.

Referenced by doProvidePackage().

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

Definition at line 102 of file PackageProvider.h.

Referenced by failOnChecksumError(), and providePackage().

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

Definition at line 103 of file PackageProvider.h.

Referenced by newReport(), and report().


The documentation for this class was generated from the following files:
Generated on Wed Sep 27 01:17:15 2006 for zypp by  doxygen 1.4.6