#include <RepoInfo.h>
Classes | |
struct | Impl |
RepoInfo implementation. More... | |
Public Types | |
typedef std::set< Url > | url_set |
typedef url_set::size_type | urls_size_type |
typedef transform_iterator < repo::RepoVariablesUrlReplacer, url_set::const_iterator > | urls_const_iterator |
Public Member Functions | |
RepoInfo () | |
virtual | ~RepoInfo () |
unsigned | priority () const |
Repository priority for solver. | |
void | setPriority (unsigned newval_r) |
Set repository priority for solver. | |
bool | baseUrlsEmpty () const |
whether repository urls are available | |
urls_size_type | baseUrlsSize () const |
number of repository urls | |
urls_const_iterator | baseUrlsBegin () const |
iterator that points at begin of repository urls | |
urls_const_iterator | baseUrlsEnd () const |
iterator that points at end of repository urls | |
Url | url () const |
Pars pro toto: The first repository url. | |
std::set< Url > | baseUrls () const |
A Url under which the metadata are located, or a set of mirrors. | |
void | addBaseUrl (const Url &url) |
Add a base url. | |
void | setBaseUrl (const Url &url) |
Clears current base URL list and adds url. | |
Pathname | path () const |
Repository path. | |
void | setPath (const Pathname &path) |
set the product path. | |
Url | mirrorListUrl () const |
Url of a file which contains a list of Urls If empty, the base url will be used. | |
void | setMirrorListUrl (const Url &url) |
Set mirror list url. | |
repo::RepoType | type () const |
Type of repository,. | |
void | setProbedType (const repo::RepoType &t) const |
This allows to adjust the RepoType lazy, from NONE to some probed value, even for const objects. | |
void | setType (const repo::RepoType &t) |
set the repository type | |
Pathname | metadataPath () const |
Path where this repo metadata was read from. | |
void | setMetadataPath (const Pathname &path) |
set the path where the local metadata is stored | |
Pathname | packagesPath () const |
Path where this repo packages are cached. | |
void | setPackagesPath (const Pathname &path) |
set the path where the local packages are stored | |
bool | gpgCheck () const |
Whether to check or not this repository with gpg. | |
void | setGpgCheck (bool check) |
Whether to check or not this repository with gpg. | |
Url | gpgKeyUrl () const |
Key to use for gpg checking of this repository. | |
void | setGpgKeyUrl (const Url &gpgkey) |
Key to use for gpg checking of this repository. | |
bool | keepPackages () const |
Whether to keep the packages downloaded from this repository will be kept in local cache. | |
void | setKeepPackages (bool keep) |
Set if the packaqes downloaded from this repository will be kept in local cache. | |
std::string | service () const |
Gets name of the service to which this repository belongs or empty string if it has been added manually. | |
void | setService (const std::string &name) |
sets service which added this repository | |
std::string | targetDistribution () const |
Distribution for which is this repository meant. | |
void | setTargetDistribution (const std::string &targetDistribution) |
Sets the distribution for which is this repository meant. | |
virtual std::ostream & | dumpOn (std::ostream &str) const |
Write a human-readable representation of this RepoInfo object into the str stream. | |
virtual std::ostream & | dumpAsIniOn (std::ostream &str) const |
Write this RepoInfo object into str in a
.repo file format. | |
virtual std::ostream & | dumpAsXMLOn (std::ostream &str) const |
Write an XML representation of this RepoInfo object. | |
virtual std::ostream & | dumpAsXMLOn (std::ostream &str, const std::string &content) const |
Write an XML representation of this RepoInfo object. | |
Repository license | |
bool | hasLicense () const |
Whether there is a license associated with the repo. | |
std::string | getLicense (const Locale &lang_r=Locale()) |
Return the best license for the current (or a specified) locale. | |
LocaleSet | getLicenseLocales () const |
Return the locales the license is available for. | |
Static Public Member Functions | |
static unsigned | defaultPriority () |
The default priority (99 ). | |
Static Public Attributes | |
static const RepoInfo | noRepo |
Represents no Repository (one with an empty alias). | |
Private Attributes | |
RWCOW_pointer< Impl > | _pimpl |
Pointer to implementation. | |
Friends | |
std::ostream & | operator<< (std::ostream &str, const RepoInfo &obj) |
Related Functions | |
(Note that these are not member functions.) | |
typedef shared_ptr< RepoInfo > | RepoInfo_Ptr |
typedef shared_ptr< const RepoInfo > | RepoInfo_constPtr |
typedef std::list< RepoInfo > | RepoInfoList |
The class RepoInfo represents everything that is known about a software repository.
It can be used to store information about known sources.
This class tries to be compatible with the concept of a .repo file used by YUM and also available in the openSUSE build service. See man yum.conf
.
Example file
[ruby] name=Ruby repository (openSUSE_10.2) type=rpm-md baseurl=http://software.opensuse.org/download/ruby/openSUSE_10.2/ gpgcheck=1 gpgkey=http://software.opensuse.org/openSUSE-Build-Service.asc enabled=1 priority=10
Definition at line 66 of file RepoInfo.h.
typedef std::set<Url> zypp::RepoInfo::url_set |
Definition at line 94 of file RepoInfo.h.
typedef url_set::size_type zypp::RepoInfo::urls_size_type |
Definition at line 95 of file RepoInfo.h.
typedef transform_iterator<repo::RepoVariablesUrlReplacer, url_set::const_iterator> zypp::RepoInfo::urls_const_iterator |
Definition at line 96 of file RepoInfo.h.
zypp::RepoInfo::RepoInfo | ( | ) |
Definition at line 107 of file RepoInfo.cc.
zypp::RepoInfo::~RepoInfo | ( | ) | [virtual] |
Definition at line 116 of file RepoInfo.cc.
unsigned zypp::RepoInfo::defaultPriority | ( | ) | [static] |
The default priority (99
).
Definition at line 123 of file RepoInfo.cc.
References zypp::RepoInfo::Impl::defaultPriority.
Referenced by dumpAsIniOn().
unsigned zypp::RepoInfo::priority | ( | ) | const |
Repository priority for solver.
Some number between 1
(highest priority) and 99
(defaultPriority).
Definition at line 121 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpAsIniOn(), dumpAsXMLOn(), dumpOn(), zypp::solver::detail::HelixControl::HelixControl(), and zypp::sat::detail::PoolImpl::setRepoInfo().
void zypp::RepoInfo::setPriority | ( | unsigned | newval_r | ) |
Set repository priority for solver.
A newval_r
of 0
sets the default priority.
Definition at line 125 of file RepoInfo.cc.
References _pimpl, and zypp::RepoInfo::Impl::defaultPriority.
Referenced by zypp::parser::RepoindexFileReader::Impl::consumeNode(), and zypp::parser::repositories_in_stream().
bool zypp::RepoInfo::baseUrlsEmpty | ( | ) | const |
whether repository urls are available
Definition at line 255 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::assert_urls(), zypp::repo::PackageProvider::doProvidePackage(), zypp::repo::RepoMediaAccess::provideFile(), zypp::repo::PackageProvider::providePackage(), and url().
RepoInfo::urls_size_type zypp::RepoInfo::baseUrlsSize | ( | ) | const |
number of repository urls
Definition at line 252 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository().
RepoInfo::urls_const_iterator zypp::RepoInfo::baseUrlsBegin | ( | ) | const |
iterator that points at begin of repository urls
Definition at line 238 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository(), zypp::HistoryLog::addRepository(), zypp::RepoManager::buildCache(), zypp::repo::PackageProvider::doProvidePackage(), dumpAsXMLOn(), dumpOn(), zypp::solver::detail::HelixControl::HelixControl(), keepPackages(), zypp::HistoryLog::modifyRepository(), zypp::repo::RepoMediaAccess::provideFile(), zypp::repo::PackageProvider::providePackage(), zypp::RepoManager::refreshMetadata(), and url().
RepoInfo::urls_const_iterator zypp::RepoInfo::baseUrlsEnd | ( | ) | const |
iterator that points at end of repository urls
Definition at line 245 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository(), dumpAsXMLOn(), dumpOn(), zypp::solver::detail::HelixControl::HelixControl(), zypp::repo::RepoMediaAccess::provideFile(), and zypp::RepoManager::refreshMetadata().
Url zypp::RepoInfo::url | ( | ) | const [inline] |
Pars pro toto: The first repository url.
Definition at line 116 of file RepoInfo.h.
References baseUrlsBegin(), and baseUrlsEmpty().
Referenced by zypp::misc::defaultLoadSystem(), zypp::repo::RepoException::dumpOn(), and zypp::sat::detail::PoolImpl::setRepoInfo().
std::set< Url > zypp::RepoInfo::baseUrls | ( | ) | const |
A Url under which the metadata are located, or a set of mirrors.
This can't be empty in order the repository to be valid unless the download of the mirror list succeeds and it contains a valid url.
Definition at line 214 of file RepoInfo.cc.
References _pimpl.
void zypp::RepoInfo::addBaseUrl | ( | const Url & | url | ) |
Definition at line 145 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream(), and setBaseUrl().
void zypp::RepoInfo::setBaseUrl | ( | const Url & | url | ) |
Clears current base URL list and adds url.
Definition at line 150 of file RepoInfo.cc.
References _pimpl, and addBaseUrl().
Referenced by zypp::parser::RepoindexFileReader::Impl::consumeNode(), and zypp::RepoManager::getRepositoryInfo().
Pathname zypp::RepoInfo::path | ( | ) | const |
Repository path.
Pathname relative to the base Url where the product/repository is located
For media containing more than one product, or repositories not located at the root of the media it is important to know the path to the product directory relative to the media root. So a media verifier can be set for that media. You may also read it as baseUrl = url to mount
and path = path on the mounted media
.
It is not mandatory, and the default is /
.
Definition at line 229 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository(), zypp::RepoManager::buildCache(), zypp::RepoManager::checkIfToRefreshMetadata(), zypp::repo::yum::Downloader::download(), zypp::repo::susetags::Downloader::download(), dumpAsIniOn(), dumpOn(), zypp::solver::detail::HelixControl::HelixControl(), zypp::rawproductdata_path_for_repoinfo(), and zypp::RepoManager::refreshMetadata().
void zypp::RepoInfo::setPath | ( | const Pathname & | path | ) |
set the product path.
path | the path to the product |
Definition at line 156 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::RepoindexFileReader::Impl::consumeNode(), and zypp::parser::repositories_in_stream().
Url zypp::RepoInfo::mirrorListUrl | ( | ) | const |
Url of a file which contains a list of Urls If empty, the base url will be used.
Definition at line 208 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpAsXMLOn().
void zypp::RepoInfo::setMirrorListUrl | ( | const Url & | url | ) |
Set mirror list url.
Definition at line 135 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream().
repo::RepoType zypp::RepoInfo::type | ( | ) | const |
Type of repository,.
Definition at line 205 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::buildCache(), zypp::RepoManager::checkIfToRefreshMetadata(), zypp::misc::defaultLoadSystem(), dumpAsIniOn(), dumpAsXMLOn(), dumpOn(), zypp::solver::detail::HelixControl::HelixControl(), zypp::RepoManager::metadataStatus(), zypp::RepoManager::refreshMetadata(), and zypp::RepoManager::touchIndexFile().
void zypp::RepoInfo::setProbedType | ( | const repo::RepoType & | t | ) | const |
This allows to adjust the RepoType lazy, from NONE
to some probed value, even for const objects.
This is a NOOP if the current type is not NONE
.
Definition at line 166 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::sat::Solvable::lookupLocation(), and zypp::RepoManager::refreshMetadata().
void zypp::RepoInfo::setType | ( | const repo::RepoType & | t | ) |
set the repository type
t |
Definition at line 161 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository(), zypp::parser::RepoindexFileReader::Impl::consumeNode(), zypp::RepoManager::refreshMetadata(), and zypp::parser::repositories_in_stream().
Pathname zypp::RepoInfo::metadataPath | ( | ) | const |
Path where this repo metadata was read from.
Definition at line 199 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpOn(), and zypp::repo::RepoMediaAccess::Impl::setVerifierForRepo().
void zypp::RepoInfo::setMetadataPath | ( | const Pathname & | path | ) |
set the path where the local metadata is stored
The path to the metadata of this repository was defined, or empty if nowhere.
path | directory path |
Definition at line 170 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository().
Pathname zypp::RepoInfo::packagesPath | ( | ) | const |
Path where this repo packages are cached.
Definition at line 202 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpOn(), zypp::repo::RepoMediaAccess::provideFile(), and zypp::repo::PackageProvider::providePackage().
void zypp::RepoInfo::setPackagesPath | ( | const Pathname & | path | ) |
set the path where the local packages are stored
path | directory path |
Definition at line 175 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoManager::addRepository().
bool zypp::RepoInfo::gpgCheck | ( | ) | const |
Whether to check or not this repository with gpg.
Definition at line 196 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::repo::yum::Downloader::download(), dumpAsIniOn(), dumpAsXMLOn(), and dumpOn().
void zypp::RepoInfo::setGpgCheck | ( | bool | check | ) |
Whether to check or not this repository with gpg.
check | true (check) or false (dont'check) |
Definition at line 130 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream().
Url zypp::RepoInfo::gpgKeyUrl | ( | ) | const |
Key to use for gpg checking of this repository.
Definition at line 211 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpAsIniOn(), dumpAsXMLOn(), and dumpOn().
void zypp::RepoInfo::setGpgKeyUrl | ( | const Url & | gpgkey | ) |
Key to use for gpg checking of this repository.
Definition at line 140 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream().
bool zypp::RepoInfo::keepPackages | ( | ) | const |
Whether to keep the packages downloaded from this repository will be kept in local cache.
Definition at line 259 of file RepoInfo.cc.
References _pimpl, and baseUrlsBegin().
Referenced by dumpAsIniOn(), dumpOn(), zypp::repo::RepoMediaAccess::provideFile(), and zypp::repo::PackageProvider::providePackage().
void zypp::RepoInfo::setKeepPackages | ( | bool | keep | ) |
Set if the packaqes downloaded from this repository will be kept in local cache.
If the setting is true, all downloaded packages from this repository will be copied to the local raw cache.
keep | true (keep the downloaded packages) or false (delete them after installation) |
Definition at line 180 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream().
std::string zypp::RepoInfo::service | ( | ) | const |
Gets name of the service to which this repository belongs or empty string if it has been added manually.
Definition at line 232 of file RepoInfo.cc.
References _pimpl.
Referenced by dumpAsIniOn(), dumpOn(), and zypp::RepoManager::MatchServiceAlias::operator()().
void zypp::RepoInfo::setService | ( | const std::string & | name | ) |
sets service which added this repository
Definition at line 185 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::repositories_in_stream().
std::string zypp::RepoInfo::targetDistribution | ( | ) | const |
Distribution for which is this repository meant.
Definition at line 235 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::RepoCollector::collect(), and dumpOn().
void zypp::RepoInfo::setTargetDistribution | ( | const std::string & | targetDistribution | ) |
Sets the distribution for which is this repository meant.
This is an in-memory value only, does not get written to the .repo file upon saving.
Definition at line 190 of file RepoInfo.cc.
References _pimpl.
Referenced by zypp::parser::RepoindexFileReader::Impl::consumeNode().
bool zypp::RepoInfo::hasLicense | ( | ) | const |
Return the best license for the current (or a specified) locale.
Definition at line 285 of file RepoInfo.cc.
References _pimpl, zypp::Locale::bestMatch(), zypp::ExternalProgram::close(), zypp::Locale::code(), zypp::ExternalProgram::Discard_Stderr, zypp::str::form(), getLicenseLocales(), zypp::Locale::noCode, zypp::externalprogram::ExternalDataSource::receiveLine(), and WAR.
Referenced by zypp::ResObject::licenseToConfirm().
LocaleSet zypp::RepoInfo::getLicenseLocales | ( | ) | const |
Return the locales the license is available for.
Locale::noCode is included in case of license.txt
which does not specify a specific locale.
Definition at line 327 of file RepoInfo.cc.
References _pimpl, zypp::ExternalProgram::close(), zypp::str::hasPrefix(), zypp::str::hasSuffix(), zypp::externalprogram::ExternalDataSource::receiveLine(), zypp::C_Str::size(), zypp::ExternalProgram::Stderr_To_Stdout, and WAR.
Referenced by getLicense().
std::ostream & zypp::RepoInfo::dumpOn | ( | std::ostream & | str | ) | const [virtual] |
Write a human-readable representation of this RepoInfo object into the str stream.
Useful for logging.
Reimplemented from zypp::repo::RepoInfoBase.
Definition at line 364 of file RepoInfo.cc.
References baseUrlsBegin(), baseUrlsEnd(), gpgCheck(), gpgKeyUrl(), keepPackages(), metadataPath(), packagesPath(), path(), priority(), service(), targetDistribution(), and type().
Referenced by zypp::operator<<().
std::ostream & zypp::RepoInfo::dumpAsIniOn | ( | std::ostream & | str | ) | const [virtual] |
Write this RepoInfo object into str in a
.repo file format.
Reimplemented from zypp::repo::RepoInfoBase.
Definition at line 394 of file RepoInfo.cc.
References _pimpl, zypp::str::asString(), zypp::repo::RepoType::asString(), defaultPriority(), gpgCheck(), gpgKeyUrl(), keepPackages(), path(), priority(), service(), and type().
Referenced by zypp::RepoManager::addRepository(), and zypp::RepoManager::modifyRepository().
std::ostream & zypp::RepoInfo::dumpAsXMLOn | ( | std::ostream & | str | ) | const [virtual] |
Write an XML representation of this RepoInfo object.
Reimplemented from zypp::repo::RepoInfoBase.
Definition at line 432 of file RepoInfo.cc.
std::ostream & zypp::RepoInfo::dumpAsXMLOn | ( | std::ostream & | str, | |
const std::string & | content | |||
) | const [virtual] |
Write an XML representation of this RepoInfo object.
str | ||
content | this argument is ignored (used in other classed derived from RepoInfoBase. |
Reimplemented from zypp::repo::RepoInfoBase.
Definition at line 435 of file RepoInfo.cc.
References zypp::repo::RepoInfoBase::alias(), zypp::str::asString(), zypp::repo::RepoType::asString(), zypp::repo::RepoInfoBase::autorefresh(), baseUrlsBegin(), baseUrlsEnd(), zypp::repo::RepoInfoBase::enabled(), zypp::str::escape(), gpgCheck(), gpgKeyUrl(), mirrorListUrl(), zypp::repo::RepoInfoBase::name(), zypp::repo::RepoType::NONE, priority(), and type().
typedef shared_ptr<RepoInfo> RepoInfo_Ptr [related] |
Definition at line 361 of file RepoInfo.h.
typedef shared_ptr<const RepoInfo> RepoInfo_constPtr [related] |
Definition at line 363 of file RepoInfo.h.
typedef std::list<RepoInfo> RepoInfoList [related] |
Definition at line 365 of file RepoInfo.h.
std::ostream & operator<< | ( | std::ostream & | str, | |
const RepoInfo & | obj | |||
) | [friend] |
Stream output
Definition at line 464 of file RepoInfo.cc.
const RepoInfo zypp::RepoInfo::noRepo [static] |
Represents no Repository (one with an empty alias).
Definition at line 75 of file RepoInfo.h.
Referenced by zypp::RepoManager::getRepo().
RWCOW_pointer<Impl> zypp::RepoInfo::_pimpl [private] |
Pointer to implementation.
Reimplemented from zypp::repo::RepoInfoBase.
Definition at line 353 of file RepoInfo.h.
Referenced by addBaseUrl(), baseUrls(), baseUrlsBegin(), baseUrlsEmpty(), baseUrlsEnd(), baseUrlsSize(), dumpAsIniOn(), getLicense(), getLicenseLocales(), gpgCheck(), gpgKeyUrl(), hasLicense(), keepPackages(), metadataPath(), mirrorListUrl(), packagesPath(), path(), priority(), service(), setBaseUrl(), setGpgCheck(), setGpgKeyUrl(), setKeepPackages(), setMetadataPath(), setMirrorListUrl(), setPackagesPath(), setPath(), setPriority(), setProbedType(), setService(), setTargetDistribution(), setType(), targetDistribution(), and type().