libzypp  12.16.5
zypp::RepoInfo Class Reference

What is known about a repository. More...

#include <RepoInfo.h>

Inheritance diagram for zypp::RepoInfo:
zypp::repo::RepoInfoBase

Classes

struct  Impl
 RepoInfo implementation. More...
 

Public Types

typedef std::set< Urlurl_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
 
bool baseUrlSet () const
 whether there are manualy configured repository urls
 
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< UrlbaseUrls () 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 packages downloaded from this repository will be kept in local cache.
 
void setKeepPackages (bool keep)
 Set if 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.
 
bool needToAcceptLicense () const
 Whether the repo license has to be accepted, e.g.
 
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.
 
- Public Member Functions inherited from zypp::repo::RepoInfoBase
 RepoInfoBase ()
 
 RepoInfoBase (const std::string &alias)
 
virtual ~RepoInfoBase ()
 
std::string alias () const
 unique identifier for this source.
 
std::string escaped_alias () const
 Same as alias(), just escaped in a way to be a valid file name.
 
std::string name () const
 Repository short label.
 
std::string label () const
 Label for use in messages for the user interface.
 
bool enabled () const
 If enabled is false, then this repository must be ignored as if does not exists, except when checking for duplicate alias.
 
bool autorefresh () const
 If true, the repostory must be refreshed before creating resolvables from it.
 
Pathname filepath () const
 File where this repo was read from.
 
void setAlias (const std::string &alias)
 set the repository alias
 
void setName (const std::string &name)
 set the repository name
 
void setEnabled (bool enabled)
 enable or disable the repository
 
void setAutorefresh (bool autorefresh)
 enable or disable autorefresh
 
void setFilepath (const Pathname &filename)
 set the path to the .repo file
 

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< RepoInfoRepoInfo_Ptr
 
typedef shared_ptr< const
RepoInfo
RepoInfo_constPtr
 
typedef std::list< RepoInfoRepoInfoList
 
std::ostream & operator<< (std::ostream &str, const RepoInfo &obj)
 

Detailed Description

What is known about a repository.

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
Note
A RepoInfo is a hint about how to create a Repository.

Definition at line 66 of file RepoInfo.h.

Member Typedef Documentation

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.

Definition at line 96 of file RepoInfo.h.

Constructor & Destructor Documentation

zypp::RepoInfo::RepoInfo ( )

Definition at line 144 of file RepoInfo.cc.

zypp::RepoInfo::~RepoInfo ( )
virtual

Definition at line 153 of file RepoInfo.cc.

Member Function Documentation

unsigned zypp::RepoInfo::defaultPriority ( )
static

The default priority (99).

Definition at line 161 of file RepoInfo.cc.

unsigned zypp::RepoInfo::priority ( ) const

Repository priority for solver.

Some number between 1 (highest priority) and 99 (defaultPriority).

Definition at line 158 of file RepoInfo.cc.

void zypp::RepoInfo::setPriority ( unsigned  newval_r)

Set repository priority for solver.

A newval_r of 0 sets the default priority.

See Also
priority.

Definition at line 164 of file RepoInfo.cc.

bool zypp::RepoInfo::baseUrlsEmpty ( ) const

whether repository urls are available

Definition at line 269 of file RepoInfo.cc.

bool zypp::RepoInfo::baseUrlSet ( ) const

whether there are manualy configured repository urls

Definition at line 272 of file RepoInfo.cc.

RepoInfo::urls_size_type zypp::RepoInfo::baseUrlsSize ( ) const

number of repository urls

Definition at line 266 of file RepoInfo.cc.

RepoInfo::urls_const_iterator zypp::RepoInfo::baseUrlsBegin ( ) const

iterator that points at begin of repository urls

Definition at line 252 of file RepoInfo.cc.

RepoInfo::urls_const_iterator zypp::RepoInfo::baseUrlsEnd ( ) const

iterator that points at end of repository urls

Definition at line 259 of file RepoInfo.cc.

Url zypp::RepoInfo::url ( ) const
inline

Pars pro toto: The first repository url.

Definition at line 120 of file RepoInfo.h.

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.

Deprecated:
IMO superfluous as we provide begin/end iterator.

Definition at line 231 of file RepoInfo.cc.

void zypp::RepoInfo::addBaseUrl ( const Url url)

Add a base url.

See Also
baseUrls
Parameters
urlThe base url for the repository.

To recreate the base URLs list, use setBaseUrl(const Url &) followed by addBaseUrl().

Definition at line 176 of file RepoInfo.cc.

void zypp::RepoInfo::setBaseUrl ( const Url url)

Clears current base URL list and adds url.

Definition at line 179 of file RepoInfo.cc.

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 /.

Note
As a repository can have multiple Urls, the path is unique and the same for all Urls, so it is assumed all the Urls have the same media layout.

Definition at line 243 of file RepoInfo.cc.

void zypp::RepoInfo::setPath ( const Pathname &  path)

set the product path.

See Also
path()
Parameters
paththe path to the product

Definition at line 185 of file RepoInfo.cc.

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 225 of file RepoInfo.cc.

void zypp::RepoInfo::setMirrorListUrl ( const Url url)

Set mirror list url.

See Also
mirrorListUrl
Parameters
urlThe base url for the list

Definition at line 170 of file RepoInfo.cc.

repo::RepoType zypp::RepoInfo::type ( ) const

Type of repository,.

Definition at line 222 of file RepoInfo.cc.

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 191 of file RepoInfo.cc.

void zypp::RepoInfo::setType ( const repo::RepoType t)

set the repository type

See Also
type
Parameters
t

Definition at line 188 of file RepoInfo.cc.

Pathname zypp::RepoInfo::metadataPath ( ) const

Path where this repo metadata was read from.

Note
could be an empty pathname for repo infos created in memory.

Definition at line 216 of file RepoInfo.cc.

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.

Parameters
pathdirectory path

Definition at line 195 of file RepoInfo.cc.

Pathname zypp::RepoInfo::packagesPath ( ) const

Path where this repo packages are cached.

Definition at line 219 of file RepoInfo.cc.

void zypp::RepoInfo::setPackagesPath ( const Pathname &  path)

set the path where the local packages are stored

Parameters
pathdirectory path

Definition at line 198 of file RepoInfo.cc.

bool zypp::RepoInfo::gpgCheck ( ) const

Whether to check or not this repository with gpg.

Note
This is a just a hint to the application and can be ignored.

Definition at line 210 of file RepoInfo.cc.

void zypp::RepoInfo::setGpgCheck ( bool  check)

Whether to check or not this repository with gpg.

Parameters
checktrue (check) or false (dont'check)
Note
This is a just a hint to the application and can be ignored.

Definition at line 167 of file RepoInfo.cc.

Url zypp::RepoInfo::gpgKeyUrl ( ) const

Key to use for gpg checking of this repository.

Parameters
urlUrl to the key in ASCII armored format
Note
This is a just a hint to the application and can be ignored.

Definition at line 228 of file RepoInfo.cc.

void zypp::RepoInfo::setGpgKeyUrl ( const Url gpgkey)

Key to use for gpg checking of this repository.

Parameters
urlUrl to the key in ASCII armored format
Note
This is a just a hint to the application and can be ignored.

Definition at line 173 of file RepoInfo.cc.

bool zypp::RepoInfo::keepPackages ( ) const

Whether packages downloaded from this repository will be kept in local cache.

Definition at line 213 of file RepoInfo.cc.

void zypp::RepoInfo::setKeepPackages ( bool  keep)

Set if 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.

Parameters
keeptrue (keep the downloaded packages) or false (delete them after installation)

Definition at line 201 of file RepoInfo.cc.

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 246 of file RepoInfo.cc.

void zypp::RepoInfo::setService ( const std::string &  name)

sets service which added this repository

Definition at line 204 of file RepoInfo.cc.

std::string zypp::RepoInfo::targetDistribution ( ) const

Distribution for which is this repository meant.

Definition at line 249 of file RepoInfo.cc.

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 207 of file RepoInfo.cc.

bool zypp::RepoInfo::hasLicense ( ) const

Whether there is a license associated with the repo.

Definition at line 277 of file RepoInfo.cc.

bool zypp::RepoInfo::needToAcceptLicense ( ) const

Whether the repo license has to be accepted, e.g.

there is no no acceptance needed for openSUSE.

Definition at line 286 of file RepoInfo.cc.

std::string zypp::RepoInfo::getLicense ( const Locale lang_r = Locale())

Return the best license for the current (or a specified) locale.

Definition at line 314 of file RepoInfo.cc.

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 356 of file RepoInfo.cc.

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 389 of file RepoInfo.cc.

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 426 of file RepoInfo.cc.

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 466 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.

Parameters
str
contentthis argument is ignored (used in other classed derived from RepoInfoBase.

Reimplemented from zypp::repo::RepoInfoBase.

Definition at line 469 of file RepoInfo.cc.

Friends And Related Function Documentation

typedef shared_ptr<RepoInfo> RepoInfo_Ptr
related

Definition at line 368 of file RepoInfo.h.

typedef shared_ptr<const RepoInfo> RepoInfo_constPtr
related

Definition at line 370 of file RepoInfo.h.

typedef std::list<RepoInfo> RepoInfoList
related

Definition at line 372 of file RepoInfo.h.

std::ostream& operator<< ( std::ostream &  str,
const RepoInfo obj 
)
friend

Definition at line 501 of file RepoInfo.cc.

std::ostream & operator<< ( std::ostream &  str,
const RepoInfo obj 
)
related

Stream output

Definition at line 501 of file RepoInfo.cc.

Member Data Documentation

const RepoInfo zypp::RepoInfo::noRepo
static

Represents no Repository (one with an empty alias).

Definition at line 75 of file RepoInfo.h.

RWCOW_pointer<Impl> zypp::RepoInfo::_pimpl
private

Pointer to implementation.

Definition at line 360 of file RepoInfo.h.


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