|
libzypp 17.38.5
|
Provides files from different repos. More...
#include <zypp/repo/RepoProvideFile.h>
Classes | |
| class | Impl |
Public Member Functions | |
| RepoMediaAccess (ProvideFilePolicy defaultPolicy_r=ProvideFilePolicy()) | |
| Ctor taking the default ProvideFilePolicy. | |
| ~RepoMediaAccess () | |
| ManagedFile | provideFile (const RepoInfo &repo_r, const OnMediaLocation &loc_r, const ProvideFilePolicy &policy_r) |
| Provide a file from a Repository. | |
| ManagedFile | provideFile (RepoInfo repo_r, const OnMediaLocation &loc_r) |
| void | setDefaultPolicy (const ProvideFilePolicy &policy_r) |
| Set a new default ProvideFilePolicy. | |
| const ProvideFilePolicy & | defaultPolicy () const |
| Get the current default ProvideFilePolicy. | |
Static Public Member Functions | |
| static Pathname | mapToCachePath (const RepoInfo &repo_r, const OnMediaLocation &resource_r) |
| Map a resource filename to a local path below a repositories cache. | |
Private Attributes | |
| RW_pointer< Impl > | _impl |
Provides files from different repos.
Class that allows to get files from repositories It handles automatically setting media verifiers if the repo is cached, and reuses media set access opened for repositories during its scope, so you can provide files from different repositories in different order without opening and closing medias all the time
Definition at line 72 of file RepoProvideFile.h.
| zypp::repo::RepoMediaAccess::RepoMediaAccess | ( | ProvideFilePolicy | defaultPolicy_r = ProvideFilePolicy() | ) |
Ctor taking the default ProvideFilePolicy.
Definition at line 253 of file RepoProvideFile.cc.
| zypp::repo::RepoMediaAccess::~RepoMediaAccess | ( | ) |
Definition at line 257 of file RepoProvideFile.cc.
| ManagedFile zypp::repo::RepoMediaAccess::provideFile | ( | const RepoInfo & | repo_r, |
| const OnMediaLocation & | loc_r, | ||
| const ProvideFilePolicy & | policy_r ) |
Provide a file from a Repository.
Let source_r provide the file described by loc_r. In case loc_r contains a checksum, the file is verified. policy_r provides callback hooks for download progress reporting and behaviour on failed checksum verification.
| Exception |
Definition at line 266 of file RepoProvideFile.cc.
|
inline |
Definition at line 93 of file RepoProvideFile.h.
| void zypp::repo::RepoMediaAccess::setDefaultPolicy | ( | const ProvideFilePolicy & | policy_r | ) |
Set a new default ProvideFilePolicy.
Definition at line 260 of file RepoProvideFile.cc.
| const ProvideFilePolicy & zypp::repo::RepoMediaAccess::defaultPolicy | ( | ) | const |
Get the current default ProvideFilePolicy.
Definition at line 263 of file RepoProvideFile.cc.
|
static |
Map a resource filename to a local path below a repositories cache.
bsc#1253740: Resource filenames pointing to "../" may refer to locations outside the repositories root. That's actually not desired and does not work for mounted media, as they refer to locations outside the mount point. Unfortunately it works for http/ftp and is actually used by TumbleWeed.
The remote path relative to the repositories root is usually composed as "repo.path / resource.filename". Replicating the remote file tree below the repositories cache directory fails if this remote path is relative and refers to "../". It will point to a location outside the cache. To fix this all remote paths will be mapped to filenames below the cache root.
So the location of a package on disk should be computed as:
Definition at line 385 of file RepoProvideFile.cc.
|
private |
Definition at line 127 of file RepoProvideFile.h.