zypp::Fetcher::Impl Class Reference

Fetcher implementation. More...

List of all members.

Public Member Functions

 Impl ()
 ~Impl ()
void setOptions (Fetcher::Options options)
Fetcher::Options options () const
void addIndex (const OnMediaLocation &resource)
void enqueueDir (const OnMediaLocation &resource, bool recursive, const FileChecker &checker=FileChecker())
void enqueueDigestedDir (const OnMediaLocation &resource, bool recursive, const FileChecker &checker=FileChecker())
void enqueue (const OnMediaLocation &resource, const FileChecker &checker=FileChecker())
void enqueueDigested (const OnMediaLocation &resource, const FileChecker &checker=FileChecker())
void addCachePath (const Pathname &cache_dir)
void reset ()
void start (const Pathname &dest_dir, MediaSetAccess &media, const ProgressData::ReceiverFnc &progress_receiver)

Static Public Member Functions

static shared_ptr< Implnullimpl ()
 Offer default Impl.

Private Member Functions

void downloadAndReadIndexList (MediaSetAccess &media, const Pathname &dest_dir)
 download the indexes and reads them
void downloadIndex (MediaSetAccess &media, const OnMediaLocation &resource, const Pathname &dest_dir)
 download the indexes and reads them
void readIndex (const Pathname &index, const Pathname &basedir)
 reads a downloaded index file and updates internal attributes table
void readSha1sumsIndex (const Pathname &index, const Pathname &basedir)
 specific version of readIndex for SHA1SUMS file
void readContentFileIndex (const Pathname &index, const Pathname &basedir)
 specific version of readIndex for SHA1SUMS file
void getDirectoryContent (MediaSetAccess &media, const OnMediaLocation &resource, filesystem::DirContent &content)
 reads the content of a directory but keeps a cache
bool provideFromCache (const OnMediaLocation &resource, const Pathname &dest_dir)
 tries to provide the file represented by job into dest_dir by looking at the cache.
void validate (const OnMediaLocation &resource, const Pathname &dest_dir, const list< FileChecker > &checkers)
 Validates the job against is checkers, by using the file instance on dest_dir.
void addDirJobs (MediaSetAccess &media, const OnMediaLocation &resource, const Pathname &dest_dir, FetcherJob::Flags flags)
 scan the directory and adds the individual jobs
void autoaddIndexes (const filesystem::DirContent &content, MediaSetAccess &media, const OnMediaLocation &resource, const Pathname &dest_dir)
 auto discovery and reading of indexes
void provideToDest (MediaSetAccess &media, const OnMediaLocation &resource, const Pathname &dest_dir)
 Provide the resource to dest_dir.
Implclone () const
 clone for RWCOW_pointer

Private Attributes

list< FetcherJob_Ptr_resources
std::set< FetcherIndex_Ptr,
SameFetcherIndex
_indexes
std::set< Pathname > _caches
map< string, CheckSum_checksums
map< string,
filesystem::DirContent
_dircontent
Fetcher::Options _options

Friends

std::ostream & operator<< (std::ostream &str, const Fetcher::Impl &obj)
ImplrwcowClone (const Impl *rhs)


Detailed Description

Fetcher implementation.

Definition at line 126 of file Fetcher.cc.


Constructor & Destructor Documentation

zypp::Fetcher::Impl::Impl (  ) 

Definition at line 243 of file Fetcher.cc.

Referenced by clone().

zypp::Fetcher::Impl::~Impl (  )  [inline]

Definition at line 133 of file Fetcher.cc.


Member Function Documentation

void zypp::Fetcher::Impl::setOptions ( Fetcher::Options  options  ) 

Definition at line 248 of file Fetcher.cc.

References _options.

Fetcher::Options zypp::Fetcher::Impl::options (  )  const

Definition at line 251 of file Fetcher.cc.

References _options.

void zypp::Fetcher::Impl::addIndex ( const OnMediaLocation resource  ) 

Definition at line 295 of file Fetcher.cc.

References _indexes, and MIL.

Referenced by autoaddIndexes().

void zypp::Fetcher::Impl::enqueueDir ( const OnMediaLocation resource,
bool  recursive,
const FileChecker checker = FileChecker() 
)

Definition at line 254 of file Fetcher.cc.

References _resources, zypp::FetcherJob::Directory, and zypp::FetcherJob::Recursive.

void zypp::Fetcher::Impl::enqueueDigestedDir ( const OnMediaLocation resource,
bool  recursive,
const FileChecker checker = FileChecker() 
)

void zypp::Fetcher::Impl::enqueue ( const OnMediaLocation resource,
const FileChecker checker = FileChecker() 
)

Definition at line 286 of file Fetcher.cc.

References _resources.

Referenced by addDirJobs().

void zypp::Fetcher::Impl::enqueueDigested ( const OnMediaLocation resource,
const FileChecker checker = FileChecker() 
)

Definition at line 235 of file Fetcher.cc.

References _resources, and zypp::FetcherJob::AlwaysVerifyChecksum.

Referenced by addDirJobs().

void zypp::Fetcher::Impl::addCachePath ( const Pathname &  cache_dir  ) 

Definition at line 310 of file Fetcher.cc.

References _caches, DBG, and ERR.

void zypp::Fetcher::Impl::reset (  ) 

Definition at line 302 of file Fetcher.cc.

References _checksums, _dircontent, _indexes, and _resources.

void zypp::Fetcher::Impl::start ( const Pathname &  dest_dir,
MediaSetAccess media,
const ProgressData::ReceiverFnc progress_receiver 
)

static shared_ptr<Impl> zypp::Fetcher::Impl::nullimpl (  )  [inline, static]

Offer default Impl.

Definition at line 152 of file Fetcher.cc.

void zypp::Fetcher::Impl::downloadAndReadIndexList ( MediaSetAccess media,
const Pathname &  dest_dir 
) [private]

download the indexes and reads them

Definition at line 709 of file Fetcher.cc.

References _indexes, DBG, downloadIndex(), for_, MIL, and readIndex().

Referenced by autoaddIndexes(), and start().

void zypp::Fetcher::Impl::downloadIndex ( MediaSetAccess media,
const OnMediaLocation resource,
const Pathname &  dest_dir 
) [private]

void zypp::Fetcher::Impl::readIndex ( const Pathname &  index,
const Pathname &  basedir 
) [private]

reads a downloaded index file and updates internal attributes table

The index lists files relative to a directory, which is normally the same as the index file is located.

Definition at line 609 of file Fetcher.cc.

References readContentFileIndex(), readSha1sumsIndex(), and WAR.

Referenced by downloadAndReadIndexList().

void zypp::Fetcher::Impl::readSha1sumsIndex ( const Pathname &  index,
const Pathname &  basedir 
) [private]

specific version of readIndex for SHA1SUMS file

Definition at line 633 of file Fetcher.cc.

References _checksums, zypp::iostr::getline(), zypp::CheckSum::sha1(), zypp::str::split(), and ZYPP_THROW.

Referenced by readIndex().

void zypp::Fetcher::Impl::readContentFileIndex ( const Pathname &  index,
const Pathname &  basedir 
) [private]

specific version of readIndex for SHA1SUMS file

Definition at line 620 of file Fetcher.cc.

References _checksums, zypp::ContentReaderHelper::_repoindex, zypp::str::asString(), for_, MIL, and zypp::parser::susetags::ContentFileReader::parse().

Referenced by readIndex().

void zypp::Fetcher::Impl::getDirectoryContent ( MediaSetAccess media,
const OnMediaLocation resource,
filesystem::DirContent content 
) [private]

reads the content of a directory but keeps a cache

Definition at line 458 of file Fetcher.cc.

References _dircontent, zypp::iostr::copy(), zypp::MediaSetAccess::dirInfo(), zypp::OnMediaLocation::filename(), and zypp::OnMediaLocation::medianr().

Referenced by addDirJobs(), and start().

bool zypp::Fetcher::Impl::provideFromCache ( const OnMediaLocation resource,
const Pathname &  dest_dir 
) [private]

tries to provide the file represented by job into dest_dir by looking at the cache.

If success, returns true, and the desired file should be available on dest_dir

Definition at line 336 of file Fetcher.cc.

References _caches, zypp::filesystem::assert_dir(), zypp::OnMediaLocation::checksum(), DBG, zypp::CheckSum::empty(), ERR, zypp::OnMediaLocation::filename(), for_, zypp::filesystem::hardlinkCopy(), zypp::filesystem::is_checksum(), MIL, and ZYPP_THROW.

Referenced by provideToDest().

void zypp::Fetcher::Impl::validate ( const OnMediaLocation resource,
const Pathname &  dest_dir,
const list< FileChecker > &  checkers 
) [private]

Validates the job against is checkers, by using the file instance on dest_dir.

Exceptions:
Exception 

Definition at line 383 of file Fetcher.cc.

References ERR, zypp::OnMediaLocation::filename(), MIL, ZYPP_RETHROW, and ZYPP_THROW.

Referenced by start().

void zypp::Fetcher::Impl::addDirJobs ( MediaSetAccess media,
const OnMediaLocation resource,
const Pathname &  dest_dir,
FetcherJob::Flags  flags 
) [private]

void zypp::Fetcher::Impl::autoaddIndexes ( const filesystem::DirContent content,
MediaSetAccess media,
const OnMediaLocation resource,
const Pathname &  dest_dir 
) [private]

void zypp::Fetcher::Impl::provideToDest ( MediaSetAccess media,
const OnMediaLocation resource,
const Pathname &  dest_dir 
) [private]

Impl* zypp::Fetcher::Impl::clone (  )  const [inline, private]

clone for RWCOW_pointer

Definition at line 220 of file Fetcher.cc.

References Impl().


Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  str,
const Fetcher::Impl obj 
) [friend]

Stream output

Definition at line 837 of file Fetcher.cc.

Impl* rwcowClone ( const Impl rhs  )  [friend]


Member Data Documentation

Definition at line 223 of file Fetcher.cc.

Referenced by enqueue(), enqueueDigested(), enqueueDigestedDir(), enqueueDir(), reset(), and start().

Definition at line 224 of file Fetcher.cc.

Referenced by addIndex(), downloadAndReadIndexList(), and reset().

std::set<Pathname> zypp::Fetcher::Impl::_caches [private]

Definition at line 225 of file Fetcher.cc.

Referenced by addCachePath(), and provideFromCache().

map<string, CheckSum> zypp::Fetcher::Impl::_checksums [private]

Definition at line 227 of file Fetcher.cc.

Referenced by addDirJobs(), readContentFileIndex(), readSha1sumsIndex(), reset(), and start().

Definition at line 229 of file Fetcher.cc.

Referenced by getDirectoryContent(), and reset().

Fetcher::Options zypp::Fetcher::Impl::_options [private]

Definition at line 231 of file Fetcher.cc.

Referenced by autoaddIndexes(), options(), setOptions(), and start().


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

doxygen