#include <SourceImpl.h>
Inheritance diagram for zypp::source::SourceImpl:
Public Member Functions | |
void | factoryCtor (const media::MediaId &media_r, const Pathname &path_r, const std::string &alias_r, const Pathname cache_dir_r, bool base_source, bool auto_refresh) |
Ctor substitute. | |
const ResStore & | resolvables (Source_Ref) const |
All resolvables provided by this source. | |
const ResStore & | resolvables () const |
const ResStore | resolvables (zypp::Resolvable::Kind kind) const |
const Pathname | provideFile (const Pathname &file, const unsigned media_nr=1, bool cached=false, bool checkonly=false) |
Provide a file to local filesystem. | |
const Pathname | tryToProvideFile (const Pathname &file, const unsigned media_nr=1) |
Provide a file to local filesystem if the file does not exists, throws an exception, but does not release the media, useful to provide optional files you want to check if they exists. | |
const Pathname | provideDirTree (const Pathname &path, const unsigned media_nr=1) |
Provide a directory to local filesystem. | |
const void | releaseFile (const Pathname &file_r, const unsigned media_nr=1) |
const void | releaseDir (const Pathname &path_r, const unsigned media_nr=1, const bool recursive=false) |
const Pathname | providePackage (Package::constPtr package) |
void | dirInfo (const unsigned media_nr, std::list< std::string > &retlist, const Pathname &path_r, bool dots=true) const |
Provide info about a directory. | |
void | changeMedia (const media::MediaId &media_r, const Pathname &path_r) |
const bool | enabled () const |
void | enable () |
void | disable () |
const bool | autorefresh () const |
void | setAutorefresh (const bool enable_r) |
void | refresh () |
virtual void | storeMetadata (const Pathname &cache_dir_r) |
virtual Date | timestamp () const |
default implementation returns now() so the source is always reread when in doubt | |
std::string | alias (void) const |
void | setAlias (const std::string &alias) |
virtual std::string | id (void) const |
virtual void | setId (const std::string id_r) |
virtual unsigned | priority (void) const |
virtual void | setPriority (unsigned p) |
virtual unsigned | priorityUnsubscribed (void) const |
virtual void | setPriorityUnsubscribed (unsigned p) |
virtual bool | subscribed (void) const |
virtual void | setSubscribed (bool s) |
virtual const Pathname & | cacheDir (void) |
virtual const std::list< Pathname > | publicKeys () |
virtual std::string | type (void) const |
Url | url (void) const |
void | setUrl (const Url &url) |
bool | remote () const |
bool | baseSource () const |
const Pathname & | path (void) const |
virtual unsigned | numberOfMedia (void) const |
virtual std::string | vendor (void) const |
virtual std::string | unique_id (void) const |
virtual std::string | zmdName (void) const |
ZMD specific stuff. | |
virtual void | setZmdName (const std::string name_r) |
virtual std::string | zmdDescription (void) const |
virtual void | setZmdDescription (const std::string desc_r) |
virtual void | redirect (unsigned media_nr, const Url &new_url) |
void | reattach (const Pathname &attach_point) |
Reattach the source if it is not mounted, but downloaded, to different directory. | |
void | release () |
Release all medias attached by the source. | |
virtual media::MediaVerifierRef | verifier (unsigned media_nr) |
Get media verifier for the specified medium. | |
Source_Ref | selfSourceRef () |
Provide Source_Ref back to this . | |
bool | resStoreInitialized () const |
Whether the ResStore is initialized. | |
Static Public Member Functions | |
static SourceImpl_Ptr | nullimpl () |
Offer default Impl. | |
Protected Member Functions | |
const Pathname | provideJustFile (const Pathname &path, const unsigned media_nr=1, bool cached=false, bool checkonly=false) |
Provide a file to local filesystem on the given path, no checking or progress information redirection. | |
void | copyLocalMetadata (const Pathname &src, const Pathname &dst) const |
void | resetMediaVerifier () |
reset the media verifier to no verifier | |
Pathname | tmpMetadataDir () const |
function that creates the tmp metadata dir if it was not created. | |
SourceImpl () | |
Default Ctor. | |
virtual void | factoryInit () |
Ctor substitute invoked by factoryCtor. | |
virtual | ~SourceImpl () |
Dtor. | |
virtual std::ostream & | dumpOn (std::ostream &str) const |
Overload to realize stream output. | |
Protected Attributes | |
ResStore | _store |
All resolvables provided by this source. | |
Url | _url |
URL of the media. | |
Pathname | _path |
Path to the source on the media. | |
bool | _enabled |
The source is enabled. | |
bool | _autorefresh |
If the source metadata should be autorefreshed. | |
std::string | _alias |
(user defined) alias of the source | |
Pathname | _cache_dir |
Directory holding metadata cache. | |
std::string | _id |
(user defined) id of the source mostly used for ZENworks | |
unsigned | _priority |
(user defined) default priority of the source | |
unsigned | _priority_unsubscribed |
(user defined) unsubscribed priority of the source | |
bool | _subscribed |
subscribed?, solver prefers subscribed sources | |
bool | _base_source |
source contains base product? | |
intrusive_ptr< MediaSet > | _media_set |
Set of medias of the product. | |
Private Member Functions | |
virtual void | createResolvables (Source_Ref source_r) |
Late initialize the ResStore. | |
virtual ResStore | provideResolvables (Source_Ref source_r, zypp::Resolvable::Kind kind) |
Provide only resolvable of a certain kind. | |
SourceImpl (const null &) | |
Ctor, excl. | |
Private Attributes | |
media::MediaManager | media_mgr |
shared_ptr< filesystem::TmpDir > | _tmp_metadata_dir_ptr |
bool | _res_store_initialized |
Whether the ResStore is initialized. | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const SourceImpl &obj) |
Classes | |
struct | null |
Helper indicating creation of nullimpl. More... | |
class | Verifier |
SourceImpl MediaVerifier. More... |
Public access via Source interface.
Constructed by SourceFactory, via default ctor to create the object, followed by a call to factoryCtor. factoryCtor initializes the remaining data members and calls factoryInit to let implementations actually retrieve the metadata.
Definition at line 56 of file SourceImpl.h.
|
Default Ctor. Just create the object and prepare the data members. Then wait for the factoryCtor call to launch the Source. Definition at line 110 of file SourceImpl.cc. Referenced by nullimpl(). |
|
Dtor.
Definition at line 169 of file SourceImpl.cc. References _media_set, media_mgr, and zypp::media::MediaManager::release(). |
|
Ctor, excl.
for nullimpl only. Nullimpl has no Id ( Definition at line 100 of file SourceImpl.cc. |
|
Ctor substitute. Called by SourceFactory to initialize the Source. Actions performed are too complex for a real ctor. So factoryCtor initializes the appropriate data members and then calls factoryInit to launch the Source. Common cleanup in case factoryInit throws:
Definition at line 126 of file SourceImpl.cc. References _alias, _autorefresh, _base_source, _cache_dir, _media_set, _path, _store, _subscribed, _url, zypp::ResStore::clear(), factoryInit(), media_mgr, selfSourceRef(), zypp::media::MediaManager::url(), and ZYPP_RETHROW. |
|
All resolvables provided by this source.
Definition at line 89 of file SourceImpl.h. References resolvables(). |
|
Definition at line 177 of file SourceImpl.cc. References _res_store_initialized, _store, createResolvables(), and selfSourceRef(). Referenced by resolvables(). |
|
Definition at line 189 of file SourceImpl.cc. References provideResolvables(), and selfSourceRef(). |
|
Provide a file to local filesystem.
Definition at line 302 of file SourceImpl.cc. References zypp::filesystem::Pathname::asString(), zypp::bit::asString(), zypp::SourceFactory::createFrom(), zypp::source::DownloadFileReport::NO_ERROR, provideJustFile(), report, and url(). Referenced by zypp::source::yum::YUMSourceImpl::downloadMetadata(), zypp::source::susetags::SuseTagsImpl::downloadMetadata(), zypp::source::yum::YUMSourceImpl::downloadNeeded(), and zypp::source::susetags::SuseTagsImpl::downloadNeeded(). |
|
Provide a file to local filesystem if the file does not exists, throws an exception, but does not release the media, useful to provide optional files you want to check if they exists.
Definition at line 325 of file SourceImpl.cc. References _media_set, zypp::media::MediaManager::localPath(), media_mgr, and zypp::media::MediaManager::provideFile(). Referenced by zypp::source::yum::YUMSourceImpl::downloadMetadata(). |
|
Provide a directory to local filesystem.
Definition at line 471 of file SourceImpl.cc. References _media_set, zypp::media::MediaChangeReport::ABORT, zypp::media::MediaChangeReport::CHANGE_URL, zypp::SourceFactory::createFrom(), DBG, zypp::media::MediaChangeReport::EJECT, ERR, zypp::media::MediaChangeReport::INVALID, zypp::media::MediaManager::localPath(), media_mgr, MIL, zypp::media::MediaChangeReport::NOT_FOUND, zypp::media::MediaManager::provideDirTree(), zypp::media::MediaManager::release(), report, zypp::media::MediaChangeReport::RETRY, zypp::SourceManager::sourceManager(), zypp::media::MediaChangeReport::WRONG, ZYPP_CAUGHT, and ZYPP_RETHROW. Referenced by zypp::source::susetags::SuseTagsImpl::downloadMetadata(). |
|
Definition at line 572 of file SourceImpl.cc. References _media_set, DBG, media_mgr, and zypp::media::MediaManager::releaseFile(). |
|
Definition at line 580 of file SourceImpl.cc. References _media_set, DBG, media_mgr, zypp::media::MediaManager::releaseDir(), and zypp::media::MediaManager::releasePath(). |
|
|
Provide info about a directory.
Definition at line 207 of file SourceImpl.cc. References _media_set, DBG, zypp::media::MediaManager::dirInfo(), and media_mgr. Referenced by zypp::source::susetags::SuseTagsImpl::downloadMetadata(). |
|
Definition at line 592 of file SourceImpl.cc. References _media_set, _path, _url, DBG, media_mgr, and zypp::media::MediaManager::url(). |
|
Definition at line 146 of file SourceImpl.h. References _enabled. |
|
Definition at line 601 of file SourceImpl.cc. References _enabled. |
|
Definition at line 151 of file SourceImpl.h. References _enabled. |
|
Definition at line 154 of file SourceImpl.h. References _autorefresh. Referenced by zypp::source::yum::YUMSourceImpl::factoryInit(), and zypp::source::susetags::SuseTagsImpl::factoryInit(). |
|
Definition at line 157 of file SourceImpl.h. References _autorefresh. |
|
Definition at line 620 of file SourceImpl.cc. References _cache_dir, zypp::filesystem::clean_dir(), zypp::filesystem::Pathname::empty(), ERR, MIL, storeMetadata(), and ZYPP_RETHROW. |
|
Reimplemented in zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 617 of file SourceImpl.cc. Referenced by refresh(). |
|
default implementation returns now() so the source is always reread when in doubt
Reimplemented in zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 202 of file SourceImpl.cc. References zypp::Date::now(). |
|
Definition at line 170 of file SourceImpl.h. References _alias. Referenced by zypp::source::susetags::SuseTagsImpl::downloadNeeded(), zypp::source::yum::YUMSourceImpl::saveMetadataTo(), and zypp::source::susetags::SuseTagsImpl::saveMetadataTo(). |
|
Definition at line 173 of file SourceImpl.h. References _alias. |
|
Definition at line 665 of file SourceImpl.cc. References _id. Referenced by zypp::source::SourceImpl::Verifier::isDesiredMedia(). |
|
Definition at line 668 of file SourceImpl.cc. References _id. |
|
Definition at line 671 of file SourceImpl.cc. References _priority. |
|
Definition at line 674 of file SourceImpl.cc. References _priority. |
|
Definition at line 677 of file SourceImpl.cc. References _priority_unsubscribed. |
|
Definition at line 680 of file SourceImpl.cc. References _priority_unsubscribed. |
|
Definition at line 683 of file SourceImpl.cc. References _subscribed. |
|
Definition at line 686 of file SourceImpl.cc. References _subscribed. |
|
Definition at line 689 of file SourceImpl.cc. References _cache_dir. |
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 721 of file SourceImpl.cc. |
|
Reimplemented in zypp::source::plaindir::PlaindirImpl, zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 662 of file SourceImpl.cc. Referenced by dumpOn(). |
|
|
Definition at line 695 of file SourceImpl.cc. |
|
Definition at line 698 of file SourceImpl.cc. References _url, zypp::media::MediaManager::downloads(), and ZYPP_CAUGHT. |
|
Definition at line 192 of file SourceImpl.h. References _base_source. |
|
Definition at line 712 of file SourceImpl.cc. References _path. Referenced by zypp::source::susetags::SuseTagsImpl::verifyFile(). |
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 715 of file SourceImpl.cc. |
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 718 of file SourceImpl.cc. Referenced by zypp::source::SourceImpl::Verifier::isDesiredMedia(). |
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 724 of file SourceImpl.cc. |
|
ZMD specific stuff.
Definition at line 732 of file SourceImpl.cc. |
|
Definition at line 735 of file SourceImpl.cc. |
|
Definition at line 738 of file SourceImpl.cc. |
|
Definition at line 741 of file SourceImpl.cc. |
|
Definition at line 638 of file SourceImpl.cc. References _media_set, DBG, media_mgr, and zypp::media::MediaManager::open(). |
|
Reattach the source if it is not mounted, but downloaded, to different directory.
Definition at line 644 of file SourceImpl.cc. References _media_set, and DBG. |
|
Release all medias attached by the source.
Definition at line 650 of file SourceImpl.cc. References _media_set. |
|
Get media verifier for the specified medium. In the default installation, an instance of media::NoVerifier is returned. The specific implementations of the sources should overload this method to return a proper verifier.
Definition at line 656 of file SourceImpl.cc. |
|
Provide Source_Ref back to
Definition at line 238 of file SourceImpl.h. Referenced by factoryCtor(), and resolvables(). |
|
|
Definition at line 332 of file SourceImpl.cc. References zypp::filesystem::assert_dir(), zypp::filesystem::Pathname::asString(), zypp::filesystem::clean_dir(), zypp::filesystem::copy_dir_content(), MIL, and ZYPP_THROW. Referenced by zypp::source::yum::YUMSourceImpl::saveMetadataTo(), and zypp::source::susetags::SuseTagsImpl::saveMetadataTo(). |
|
reset the media verifier to no verifier
Definition at line 283 of file SourceImpl.cc. References _media_set, zypp::media::MediaManager::addVerifier(), zypp::media::MediaManager::delVerifier(), media_mgr, MIL, WAR, and ZYPP_CAUGHT. Referenced by zypp::source::susetags::SuseTagsImpl::downloadMetadata(), and zypp::source::yum::YUMSourceImpl::factoryInit(). |
|
function that creates the tmp metadata dir if it was not created. this directory is used when cache_dir is not set (design flaw FIXME) Definition at line 195 of file SourceImpl.cc. References _tmp_metadata_dir_ptr. Referenced by zypp::source::yum::YUMSourceImpl::factoryInit(), zypp::source::susetags::SuseTagsImpl::factoryInit(), zypp::source::yum::YUMSourceImpl::metadataRoot(), and zypp::source::susetags::SuseTagsImpl::metadataRoot(). |
|
Ctor substitute invoked by factoryCtor. Derived implementations use this to load the metadata. Baseclass implementation could do tasks which are common to all sources.
Reimplemented in zypp::source::plaindir::PlaindirImpl, zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 159 of file SourceImpl.cc. References ZYPP_THROW. Referenced by factoryCtor(). |
|
Overload to realize stream output.
Reimplemented from zypp::base::ReferenceCounted. Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 746 of file SourceImpl.cc. References _alias, _cache_dir, _path, _url, zypp::filesystem::Pathname::empty(), zypp::base::ProvideNumericId< SourceImpl, Source_Ref::NumericId >::numericId(), and type(). Referenced by zypp::source::susetags::SuseTagsImpl::dumpOn(). |
|
Late initialize the ResStore.
Reimplemented in zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 608 of file SourceImpl.cc. Referenced by resolvables(). |
|
Provide only resolvable of a certain kind.
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 611 of file SourceImpl.cc. References WAR. Referenced by resolvables(). |
|
Whether the ResStore is initialized. If we know that noone has seen the resolvables yet, we can skip them too, eg. when deleting a source. (#174840) Definition at line 352 of file SourceImpl.h. References _res_store_initialized. |
|
Offer default Impl.
Definition at line 366 of file SourceImpl.h. References SourceImpl(). |
|
Stream output Definition at line 376 of file SourceImpl.h. |
|
Definition at line 60 of file SourceImpl.h. Referenced by changeMedia(), dirInfo(), factoryCtor(), provideDirTree(), provideJustFile(), zypp::source::susetags::SuseTagsImpl::readMediaFile(), redirect(), releaseDir(), releaseFile(), resetMediaVerifier(), tryToProvideFile(), and ~SourceImpl(). |
|
All resolvables provided by this source.
Definition at line 280 of file SourceImpl.h. Referenced by zypp::source::susetags::SuseTagsImpl::createResolvables(), factoryCtor(), zypp::source::susetags::SuseTagsImpl::providePatterns(), and resolvables(). |
|
URL of the media.
Definition at line 282 of file SourceImpl.h. Referenced by changeMedia(), dumpOn(), factoryCtor(), zypp::source::susetags::SuseTagsImpl::readContentFile(), remote(), setUrl(), and url(). |
|
Path to the source on the media.
Definition at line 284 of file SourceImpl.h. Referenced by changeMedia(), zypp::source::yum::YUMSourceImpl::checkMetadataChecksums(), zypp::source::yum::YUMSourceImpl::downloadMetadata(), zypp::source::susetags::SuseTagsImpl::downloadMetadata(), zypp::source::yum::YUMSourceImpl::downloadNeeded(), dumpOn(), factoryCtor(), path(), and zypp::source::susetags::SuseTagsImpl::readContentFile(). |
|
The source is enabled.
Definition at line 286 of file SourceImpl.h. |
|
If the source metadata should be autorefreshed.
Definition at line 288 of file SourceImpl.h. Referenced by autorefresh(), factoryCtor(), zypp::source::susetags::SuseTagsImpl::readContentFile(), and setAutorefresh(). |
|
(user defined) alias of the source
Definition at line 290 of file SourceImpl.h. Referenced by alias(), dumpOn(), factoryCtor(), and setAlias(). |
|
Directory holding metadata cache.
Definition at line 292 of file SourceImpl.h. Referenced by cacheDir(), zypp::source::yum::YUMSourceImpl::cacheExists(), zypp::source::susetags::SuseTagsImpl::cacheExists(), dumpOn(), factoryCtor(), zypp::source::yum::YUMSourceImpl::factoryInit(), zypp::source::susetags::SuseTagsImpl::factoryInit(), zypp::source::yum::YUMSourceImpl::metadataRoot(), zypp::source::susetags::SuseTagsImpl::metadataRoot(), refresh(), zypp::source::yum::YUMSourceImpl::storeMetadata(), and zypp::source::susetags::SuseTagsImpl::storeMetadata(). |
|
(user defined) id of the source mostly used for ZENworks
Definition at line 295 of file SourceImpl.h. |
|
(user defined) default priority of the source
Definition at line 297 of file SourceImpl.h. Referenced by priority(), and setPriority(). |
|
(user defined) unsubscribed priority of the source
Definition at line 299 of file SourceImpl.h. Referenced by priorityUnsubscribed(), and setPriorityUnsubscribed(). |
|
subscribed?, solver prefers subscribed sources
Definition at line 301 of file SourceImpl.h. Referenced by factoryCtor(), setSubscribed(), and subscribed(). |
|
source contains base product?
Definition at line 303 of file SourceImpl.h. Referenced by baseSource(), and factoryCtor(). |
|
Definition at line 306 of file SourceImpl.h. Referenced by tmpMetadataDir(). |
|
Set of medias of the product.
Definition at line 335 of file SourceImpl.h. Referenced by changeMedia(), dirInfo(), factoryCtor(), provideDirTree(), provideJustFile(), reattach(), redirect(), release(), releaseDir(), releaseFile(), resetMediaVerifier(), tryToProvideFile(), and ~SourceImpl(). |
|
Whether the ResStore is initialized.
Definition at line 345 of file SourceImpl.h. Referenced by resolvables(), and resStoreInitialized(). |