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 65 of file PackageProvider.cc.

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

Definition at line 72 of file PackageProvider.cc.


Member Function Documentation

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

Provide the package.

Exceptions:
Exception. 

Definition at line 75 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 102 of file PackageProvider.cc.

References _implPtr, _package, zypp::filesystem::checksum(), DBG, failOnChecksumError(), zypp::source::ProvideFilePolicy::failOnChecksumErrorCB(), zypp::applydeltarpm::haveApplydeltarpm(), zypp::source::OnMediaLocation::medianr(), zypp::source::ProvideFilePolicy::progressCB(), progressPackageDownload(), zypp::source::provideFile(), queryInstalled(), tryDelta(), and tryPatch().

Referenced by providePackage().

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

Definition at line 154 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 203 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().

Referenced by doProvidePackage().

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

Definition at line 232 of file PackageProvider.cc.

References _report.

Referenced by providePackage().

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

Definition at line 242 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 245 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

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

Definition at line 248 of file PackageProvider.cc.

References report().

Referenced by tryDelta().

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

Definition at line 251 of file PackageProvider.cc.

References report().

Referenced by tryPatch().

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

Definition at line 254 of file PackageProvider.cc.

References _package, and report().

Referenced by doProvidePackage().

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

Definition at line 257 of file PackageProvider.cc.

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

Referenced by doProvidePackage().

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 Tue Nov 28 16:49:40 2006 for zypp by  doxygen 1.5.0