#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) |
| bool | enabled () const |
| void | enable () |
| void | disable () |
| bool | autorefresh () const |
| void | setAutorefresh (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 | |
| virtual std::string | checksum () const |
| 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. | |
| virtual std::set< zypp::Resolvable::Kind > | resolvableKinds () const |
| 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 |
| Pathname | tmpMetadataDir () const |
| function that creates the tmp metadata dir if it was not created. | |
| void | resetMediaVerifier () |
| reset the media verifier to no verifier | |
| void | getPossiblyCachedMetadataFile (const Pathname &file_to_download, const Pathname &destination, const Pathname &cached_file, const CheckSum &checksum) |
| checks if a file exists in cache if no, downloads it, copies it in given destination, and check matching checksum if yes, compares checksum and copies it to destination locally | |
| 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 | provideResolvablesByKind (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_Ref 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 103 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 146 of file SourceImpl.cc. Referenced by nullimpl(). |
|
|
Dtor.
Definition at line 206 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 136 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 161 of file SourceImpl.cc. References _alias, _autorefresh, _base_source, _cache_dir, _media_set, _path, _store, _subscribed, _url, zypp::ResStore::clear(), factoryInit(), media_mgr, MIL, selfSourceRef(), zypp::media::MediaManager::url(), and ZYPP_RETHROW. |
|
|
All resolvables provided by this source.
Definition at line 135 of file SourceImpl.h. References resolvables(). |
|
|
Definition at line 236 of file SourceImpl.cc. References _res_store_initialized, _store, createResolvables(), and selfSourceRef(). Referenced by resolvables(). |
|
|
Definition at line 253 of file SourceImpl.cc. References provideResolvablesByKind(), and selfSourceRef(). |
|
||||||||||||||||||||
|
Provide a file to local filesystem.
Definition at line 425 of file SourceImpl.cc. References _, zypp::Url::asString(), zypp::filesystem::Pathname::asString(), zypp::bit::asString(), zypp::str::form(), zypp::source::SourceReport::IO, zypp::source::SourceReport::NO_ERROR, provideJustFile(), report, zypp::source::SourceReport::RETRY, selfSourceRef(), url(), ZYPP_RETHROW, and ZYPP_THROW. Referenced by zypp::source::yum::YUMSourceImpl::downloadMetadata(), zypp::source::susetags::SuseTagsImpl::downloadMetadata(), and zypp::source::yum::YUMSourceImpl::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 468 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(), and zypp::source::susetags::SuseTagsImpl::downloadNeeded(). |
|
||||||||||||
|
Provide a directory to local filesystem.
Definition at line 634 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 738 of file SourceImpl.cc. References _media_set, DBG, media_mgr, and zypp::media::MediaManager::releaseFile(). |
|
||||||||||||||||
|
Definition at line 746 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 276 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 758 of file SourceImpl.cc. References _media_set, _path, _url, DBG, media_mgr, and zypp::media::MediaManager::url(). |
|
|
Definition at line 215 of file SourceImpl.cc. References _enabled. |
|
|
Definition at line 767 of file SourceImpl.cc. References _enabled. |
|
|
Definition at line 220 of file SourceImpl.cc. References _enabled. |
|
|
Definition at line 225 of file SourceImpl.cc. References _autorefresh. Referenced by zypp::source::yum::YUMSourceImpl::factoryInit(), and zypp::source::susetags::SuseTagsImpl::factoryInit(). |
|
|
Definition at line 230 of file SourceImpl.cc. References _autorefresh, alias(), MIL, and url(). |
|
|
Definition at line 788 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 785 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 266 of file SourceImpl.cc. References zypp::Date::now(). |
|
|
Definition at line 271 of file SourceImpl.cc. References zypp::source::randomString(). Referenced by getPossiblyCachedMetadataFile(), and providePackage(). |
|
|
Definition at line 209 of file SourceImpl.h. References _alias. Referenced by zypp::source::susetags::SuseTagsImpl::downloadNeeded(), zypp::source::yum::YUMSourceImpl::saveMetadataTo(), zypp::source::susetags::SuseTagsImpl::saveMetadataTo(), and setAutorefresh(). |
|
|
Definition at line 212 of file SourceImpl.h. References _alias. |
|
|
Definition at line 838 of file SourceImpl.cc. References _id. Referenced by zypp::source::SourceImpl::Verifier::isDesiredMedia(). |
|
|
Definition at line 843 of file SourceImpl.cc. References _id. |
|
|
Definition at line 848 of file SourceImpl.cc. References _priority. |
|
|
Definition at line 853 of file SourceImpl.cc. References _priority. |
|
|
Definition at line 858 of file SourceImpl.cc. References _priority_unsubscribed. |
|
|
Definition at line 863 of file SourceImpl.cc. References _priority_unsubscribed. |
|
|
Definition at line 868 of file SourceImpl.cc. References _subscribed. |
|
|
Definition at line 873 of file SourceImpl.cc. References _subscribed. |
|
|
Definition at line 878 of file SourceImpl.cc. References _cache_dir. |
|
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 923 of file SourceImpl.cc. |
|
|
Reimplemented in zypp::source::plaindir::PlaindirImpl, zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 833 of file SourceImpl.cc. Referenced by dumpOn(). |
|
|
|
Definition at line 888 of file SourceImpl.cc. |
|
|
Definition at line 893 of file SourceImpl.cc. References _url, zypp::media::MediaManager::downloads(), and ZYPP_CAUGHT. |
|
|
Definition at line 231 of file SourceImpl.h. References _base_source. |
|
|
Definition at line 908 of file SourceImpl.cc. References _path. Referenced by zypp::source::plaindir::PlaindirImpl::createResolvables(), zypp::source::plaindir::PlaindirImpl::extract_packages_from_directory(), and zypp::source::plaindir::PlaindirImpl::factoryInit(). |
|
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 913 of file SourceImpl.cc. |
|
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 918 of file SourceImpl.cc. Referenced by zypp::source::SourceImpl::Verifier::isDesiredMedia(). |
|
|
Reimplemented in zypp::source::susetags::SuseTagsImpl. Definition at line 928 of file SourceImpl.cc. |
|
|
ZMD specific stuff.
Definition at line 938 of file SourceImpl.cc. |
|
|
Definition at line 943 of file SourceImpl.cc. |
|
|
Definition at line 948 of file SourceImpl.cc. |
|
|
Definition at line 953 of file SourceImpl.cc. |
|
||||||||||||
|
Definition at line 807 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 813 of file SourceImpl.cc. References _media_set, and DBG. |
|
|
Release all medias attached by the source.
Definition at line 819 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 825 of file SourceImpl.cc. |
|
|
Reimplemented in zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 248 of file SourceImpl.cc. |
|
|
||||||||||||||||||||
|
||||||||||||
|
Definition at line 475 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(). |
|
|
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 259 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(). |
|
|
reset the media verifier to no verifier
Definition at line 406 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(). |
|
||||||||||||||||||||
|
checks if a file exists in cache if no, downloads it, copies it in given destination, and check matching checksum if yes, compares checksum and copies it to destination locally
Definition at line 354 of file SourceImpl.cc. References zypp::filesystem::Pathname::asString(), zypp::bit::asString(), checksum(), zypp::filesystem::copy(), zypp::filesystem::is_checksum(), MIL, url(), and ZYPP_THROW. Referenced by zypp::source::yum::YUMSourceImpl::downloadMetadata(). |
|
|
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 196 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 960 of file SourceImpl.cc. References _alias, _autorefresh, _cache_dir, _enabled, _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::plaindir::PlaindirImpl, zypp::source::susetags::SuseTagsImpl, and zypp::source::yum::YUMSourceImpl. Definition at line 774 of file SourceImpl.cc. References WAR. Referenced by resolvables(). |
|
||||||||||||
|
Provide only resolvable of a certain kind.
Reimplemented in zypp::source::yum::YUMSourceImpl. Definition at line 779 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 401 of file SourceImpl.h. References _res_store_initialized. |
|
|
Offer default Impl.
Definition at line 415 of file SourceImpl.h. References SourceImpl(). |
|
||||||||||||
|
Stream output Definition at line 425 of file SourceImpl.h. |
|
|
Definition at line 107 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 329 of file SourceImpl.h. Referenced by zypp::source::yum::YUMSourceImpl::createResolvables(), zypp::source::susetags::SuseTagsImpl::createResolvables(), zypp::source::plaindir::PlaindirImpl::createResolvables(), factoryCtor(), zypp::source::susetags::SuseTagsImpl::providePatterns(), and resolvables(). |
|
|
URL of the media.
Definition at line 331 of file SourceImpl.h. Referenced by changeMedia(), dumpOn(), factoryCtor(), remote(), setUrl(), and url(). |
|
|
Path to the source on the media.
Definition at line 333 of file SourceImpl.h. Referenced by changeMedia(), 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 335 of file SourceImpl.h. |
|
|
If the source metadata should be autorefreshed.
Definition at line 337 of file SourceImpl.h. Referenced by autorefresh(), dumpOn(), factoryCtor(), and setAutorefresh(). |
|
|
(user defined) alias of the source
Definition at line 339 of file SourceImpl.h. Referenced by alias(), dumpOn(), factoryCtor(), and setAlias(). |
|
|
Directory holding metadata cache.
Definition at line 341 of file SourceImpl.h. Referenced by cacheDir(), zypp::source::yum::YUMSourceImpl::cacheExists(), zypp::source::susetags::SuseTagsImpl::cacheExists(), zypp::source::yum::YUMSourceImpl::downloadMetadata(), 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 344 of file SourceImpl.h. |
|
|
(user defined) default priority of the source
Definition at line 346 of file SourceImpl.h. Referenced by priority(), and setPriority(). |
|
|
(user defined) unsubscribed priority of the source
Definition at line 348 of file SourceImpl.h. Referenced by priorityUnsubscribed(), and setPriorityUnsubscribed(). |
|
|
subscribed?, solver prefers subscribed sources
Definition at line 350 of file SourceImpl.h. Referenced by factoryCtor(), setSubscribed(), and subscribed(). |
|
|
source contains base product?
Definition at line 352 of file SourceImpl.h. Referenced by baseSource(), and factoryCtor(). |
|
|
Definition at line 355 of file SourceImpl.h. Referenced by tmpMetadataDir(). |
|
|
Set of medias of the product.
Definition at line 384 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 394 of file SourceImpl.h. Referenced by resolvables(), and resStoreInitialized(). |
1.4.6