libzypp 17.38.13
zypp::RepoInfo::Impl Struct Reference

RepoInfo implementation. More...

Public Member Functions

 Impl ()
 Impl (const Impl &)=default
 Impl (Impl &&)=delete
Impl & operator= (const Impl &)=delete
Impl & operator= (Impl &&)=delete
 ~Impl ()
void setType (const repo::RepoType &t)
void setProbedType (const repo::RepoType &t) const
repo::RepoType type () const
Pathname licenseTgz (const std::string &name_r) const
 Path to a license tarball in case it exists in the repo.
RepoVariablesReplacedUrl baseUrl () const
const RepoVariablesReplacedUrlList & baseUrls () const
Url location () const
void resetMirrorUrls () const
RepoVariablesReplacedUrlList & mirrorUrls () const
 Fetch the repo mirrors from the server.
MirroredOriginSet repoOrigins () const
RepoVariablesReplacedUrlList & baseUrls ()
bool baseurl2dump () const
const RepoVariablesReplacedUrlList & gpgKeyUrls () const
RepoVariablesReplacedUrlList & gpgKeyUrls ()
std::string repoStatusString () const
const std::set< std::string > & contentKeywords () const
void addContent (const std::string &keyword_r)
bool hasContent () const
bool hasContent (const std::string &keyword_r) const
TriBool internalValidRepoSignature () const
 Signature check result needs to be stored/retrieved from _metadataPath.
void internalSetValidRepoSignature (TriBool value_r)
bool internalUnsignedConfirmed () const
 We definitely have a symlink pointing to "indeterminate" (for repoGpgCheckIsMandatory)?
bool triBoolFromPath (const Pathname &path_r, TriBool &ret_r) const
TriBool triBoolFromPath (const Pathname &path_r) const
TriBool rawGpgCheck () const
TriBool rawRepoGpgCheck () const
TriBool rawPkgGpgCheck () const
void rawGpgCheck (TriBool val_r)
void rawRepoGpgCheck (TriBool val_r)
void rawPkgGpgCheck (TriBool val_r)
bool cfgGpgCheck () const
TriBool cfgRepoGpgCheck () const
TriBool cfgPkgGpgCheck () const
const RepoVariablesReplacedUrl & mirrorListUrl () const
 THE mirrorListUrl to work with (either_cfgMirrorlistUrl or _cfgMetalinkUrl)
void setMirrorlistUrl (const Url &url_r)
void setMetalinkUrl (const Url &url_r)
const RepoVariablesReplacedUrl & cfgMirrorlistUrl () const
 Config file writing needs to tell them appart.
const RepoVariablesReplacedUrl & cfgMetalinkUrl () const
 Config file writing needs to tell them appart.
void metadataPath (Pathname new_r)
void packagesPath (Pathname new_r)
bool usesAutoMetadataPaths () const
Pathname metadataPath () const
Pathname systemPackagesPath () const
Pathname packagesPath () const
Pathname predownloadPath () const
TriBool isBuiltinExtraValue (std::string_view key_r) const
 Return bool whether a dumpable key_r is known; indeterminate if the key must not be dumped.
bool hasExtraValue (const std::string &key_r) const
std::string extraValue (const std::string &key_r) const
bool setExtraValue (const std::string &key_r, std::string value_r)
template<typename Fnc>
void forDumpableExtraValues (Fnc &&fnc_r) const
 Filter discarding not dumpable extra values.

Public Attributes

TriBool keeppackages
Pathname _path
std::string service
std::string targetDistro
DefaultIntegral< unsigned, defaultPriority > priority
std::map< std::string, std::string > _extraValues
 Basically raw .repo file key-value lines.

Static Public Attributes

static const unsigned defaultPriority = 99
static const unsigned noPriority = unsigned(-1)

Private Member Functions

Impl * clone () const
 clone for RWCOW_pointer

Private Attributes

TriBool _rawGpgCheck
 default gpgcheck behavior: Y/N/ZConf
TriBool _rawRepoGpgCheck
 need to check repo sign.: Y/N/(ZConf(Y/N/gpgCheck))
TriBool _rawPkgGpgCheck
 need to check pkg sign.: Y/N/(ZConf(Y/N/gpgCheck))
TriBool _validRepoSignature
 have signed and valid repo metadata
repo::RepoType _type
RepoVariablesReplacedUrl _cfgMirrorlistUrl
RepoVariablesReplacedUrl _cfgMetalinkUrl
Pathname _metadataPath
Pathname _packagesPath
std::optional< Pathname > _alternatePackagesPath
 in case _packagesPath is not writable
RepoVariablesReplacedUrlList _baseUrls
 baseUrls as configured
RepoVariablesReplacedUrlList _mirrorUrls
 possible mirrors as fetched via mirrorlist or metalink
std::chrono::steady_clock::time_point _lastMirrorUrlsUpdate = std::chrono::steady_clock::time_point::min()
std::vector< MirroredOrigin > _repoOrigins
std::pair< FalseBool, std::set< std::string > > _keywords
RepoVariablesReplacedUrlList _gpgKeyUrls

Friends

Impl * rwcowClone (const Impl *rhs)

Detailed Description

RepoInfo implementation.

Definition at line 104 of file RepoInfo.cc.

Constructor & Destructor Documentation

◆ Impl() [1/3]

zypp::RepoInfo::Impl::Impl ( )
inline

Definition at line 106 of file RepoInfo.cc.

◆ Impl() [2/3]

zypp::RepoInfo::Impl::Impl ( const Impl & )
default

◆ Impl() [3/3]

zypp::RepoInfo::Impl::Impl ( Impl && )
delete

◆ ~Impl()

zypp::RepoInfo::Impl::~Impl ( )
inline

Definition at line 120 of file RepoInfo.cc.

Member Function Documentation

◆ operator=() [1/2]

Impl & zypp::RepoInfo::Impl::operator= ( const Impl & )
delete

◆ operator=() [2/2]

Impl & zypp::RepoInfo::Impl::operator= ( Impl && )
delete

◆ setType()

void zypp::RepoInfo::Impl::setType ( const repo::RepoType & t)
inline

Definition at line 126 of file RepoInfo.cc.

◆ setProbedType()

void zypp::RepoInfo::Impl::setProbedType ( const repo::RepoType & t) const
inline

Definition at line 129 of file RepoInfo.cc.

◆ type()

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

Definition at line 135 of file RepoInfo.cc.

◆ licenseTgz()

Pathname zypp::RepoInfo::Impl::licenseTgz ( const std::string & name_r) const
inline

Path to a license tarball in case it exists in the repo.

Definition at line 144 of file RepoInfo.cc.

◆ baseUrl()

RepoVariablesReplacedUrl zypp::RepoInfo::Impl::baseUrl ( ) const
inline

Definition at line 169 of file RepoInfo.cc.

◆ baseUrls() [1/2]

const RepoVariablesReplacedUrlList & zypp::RepoInfo::Impl::baseUrls ( ) const
inline

Definition at line 179 of file RepoInfo.cc.

◆ location()

Url zypp::RepoInfo::Impl::location ( ) const
inline

Definition at line 184 of file RepoInfo.cc.

◆ resetMirrorUrls()

void zypp::RepoInfo::Impl::resetMirrorUrls ( ) const
inline

Definition at line 190 of file RepoInfo.cc.

◆ mirrorUrls()

RepoVariablesReplacedUrlList & zypp::RepoInfo::Impl::mirrorUrls ( ) const
inline

Fetch the repo mirrors from the server.

Todo
this should be a pipeline

Definition at line 200 of file RepoInfo.cc.

◆ repoOrigins()

MirroredOriginSet zypp::RepoInfo::Impl::repoOrigins ( ) const
inline

Definition at line 255 of file RepoInfo.cc.

◆ baseUrls() [2/2]

RepoVariablesReplacedUrlList & zypp::RepoInfo::Impl::baseUrls ( )
inline

Definition at line 268 of file RepoInfo.cc.

◆ baseurl2dump()

bool zypp::RepoInfo::Impl::baseurl2dump ( ) const
inline

Definition at line 271 of file RepoInfo.cc.

◆ gpgKeyUrls() [1/2]

const RepoVariablesReplacedUrlList & zypp::RepoInfo::Impl::gpgKeyUrls ( ) const
inline

Definition at line 275 of file RepoInfo.cc.

◆ gpgKeyUrls() [2/2]

RepoVariablesReplacedUrlList & zypp::RepoInfo::Impl::gpgKeyUrls ( )
inline

Definition at line 278 of file RepoInfo.cc.

◆ repoStatusString()

std::string zypp::RepoInfo::Impl::repoStatusString ( ) const
inline

Definition at line 281 of file RepoInfo.cc.

◆ contentKeywords()

const std::set< std::string > & zypp::RepoInfo::Impl::contentKeywords ( ) const
inline

Definition at line 290 of file RepoInfo.cc.

◆ addContent()

void zypp::RepoInfo::Impl::addContent ( const std::string & keyword_r)
inline

Definition at line 293 of file RepoInfo.cc.

◆ hasContent() [1/2]

bool zypp::RepoInfo::Impl::hasContent ( ) const
inline

Definition at line 296 of file RepoInfo.cc.

◆ hasContent() [2/2]

bool zypp::RepoInfo::Impl::hasContent ( const std::string & keyword_r) const
inline

Definition at line 341 of file RepoInfo.cc.

◆ internalValidRepoSignature()

TriBool zypp::RepoInfo::Impl::internalValidRepoSignature ( ) const
inline

Signature check result needs to be stored/retrieved from _metadataPath.

Don't call them from outside validRepoSignature/setValidRepoSignature

Definition at line 348 of file RepoInfo.cc.

◆ internalSetValidRepoSignature()

void zypp::RepoInfo::Impl::internalSetValidRepoSignature ( TriBool value_r)
inline

Definition at line 362 of file RepoInfo.cc.

◆ internalUnsignedConfirmed()

bool zypp::RepoInfo::Impl::internalUnsignedConfirmed ( ) const
inline

We definitely have a symlink pointing to "indeterminate" (for repoGpgCheckIsMandatory)?

I.e. user accepted the unsigned repo in Downloader. A test whether internalValidRepoSignature is indeterminate would include not yet checked repos, which is unwanted here.

Definition at line 384 of file RepoInfo.cc.

◆ triBoolFromPath() [1/2]

bool zypp::RepoInfo::Impl::triBoolFromPath ( const Pathname & path_r,
TriBool & ret_r ) const
inline

Definition at line 390 of file RepoInfo.cc.

◆ triBoolFromPath() [2/2]

TriBool zypp::RepoInfo::Impl::triBoolFromPath ( const Pathname & path_r) const
inline

Definition at line 416 of file RepoInfo.cc.

◆ rawGpgCheck() [1/2]

TriBool zypp::RepoInfo::Impl::rawGpgCheck ( ) const
inline

Definition at line 427 of file RepoInfo.cc.

◆ rawRepoGpgCheck() [1/2]

TriBool zypp::RepoInfo::Impl::rawRepoGpgCheck ( ) const
inline

Definition at line 428 of file RepoInfo.cc.

◆ rawPkgGpgCheck() [1/2]

TriBool zypp::RepoInfo::Impl::rawPkgGpgCheck ( ) const
inline

Definition at line 429 of file RepoInfo.cc.

◆ rawGpgCheck() [2/2]

void zypp::RepoInfo::Impl::rawGpgCheck ( TriBool val_r)
inline

Definition at line 431 of file RepoInfo.cc.

◆ rawRepoGpgCheck() [2/2]

void zypp::RepoInfo::Impl::rawRepoGpgCheck ( TriBool val_r)
inline

Definition at line 432 of file RepoInfo.cc.

◆ rawPkgGpgCheck() [2/2]

void zypp::RepoInfo::Impl::rawPkgGpgCheck ( TriBool val_r)
inline

Definition at line 433 of file RepoInfo.cc.

◆ cfgGpgCheck()

bool zypp::RepoInfo::Impl::cfgGpgCheck ( ) const
inline

Definition at line 435 of file RepoInfo.cc.

◆ cfgRepoGpgCheck()

TriBool zypp::RepoInfo::Impl::cfgRepoGpgCheck ( ) const
inline

Definition at line 437 of file RepoInfo.cc.

◆ cfgPkgGpgCheck()

TriBool zypp::RepoInfo::Impl::cfgPkgGpgCheck ( ) const
inline

Definition at line 439 of file RepoInfo.cc.

◆ mirrorListUrl()

const RepoVariablesReplacedUrl & zypp::RepoInfo::Impl::mirrorListUrl ( ) const
inline

THE mirrorListUrl to work with (either_cfgMirrorlistUrl or _cfgMetalinkUrl)

Definition at line 451 of file RepoInfo.cc.

◆ setMirrorlistUrl()

void zypp::RepoInfo::Impl::setMirrorlistUrl ( const Url & url_r)
inline

Definition at line 454 of file RepoInfo.cc.

◆ setMetalinkUrl()

void zypp::RepoInfo::Impl::setMetalinkUrl ( const Url & url_r)
inline

Definition at line 457 of file RepoInfo.cc.

◆ cfgMirrorlistUrl()

const RepoVariablesReplacedUrl & zypp::RepoInfo::Impl::cfgMirrorlistUrl ( ) const
inline

Config file writing needs to tell them appart.

Definition at line 461 of file RepoInfo.cc.

◆ cfgMetalinkUrl()

const RepoVariablesReplacedUrl & zypp::RepoInfo::Impl::cfgMetalinkUrl ( ) const
inline

Config file writing needs to tell them appart.

Definition at line 464 of file RepoInfo.cc.

◆ metadataPath() [1/2]

void zypp::RepoInfo::Impl::metadataPath ( Pathname new_r)
inline

Definition at line 473 of file RepoInfo.cc.

◆ packagesPath() [1/2]

void zypp::RepoInfo::Impl::packagesPath ( Pathname new_r)
inline

Definition at line 476 of file RepoInfo.cc.

◆ usesAutoMetadataPaths()

bool zypp::RepoInfo::Impl::usesAutoMetadataPaths ( ) const
inline

Definition at line 487 of file RepoInfo.cc.

◆ metadataPath() [2/2]

Pathname zypp::RepoInfo::Impl::metadataPath ( ) const
inline

Definition at line 490 of file RepoInfo.cc.

◆ systemPackagesPath()

Pathname zypp::RepoInfo::Impl::systemPackagesPath ( ) const
inline

Definition at line 497 of file RepoInfo.cc.

◆ packagesPath() [2/2]

Pathname zypp::RepoInfo::Impl::packagesPath ( ) const
inline

Definition at line 504 of file RepoInfo.cc.

◆ predownloadPath()

Pathname zypp::RepoInfo::Impl::predownloadPath ( ) const
inline

Definition at line 509 of file RepoInfo.cc.

◆ isBuiltinExtraValue()

TriBool zypp::RepoInfo::Impl::isBuiltinExtraValue ( std::string_view key_r) const
inline

Return bool whether a dumpable key_r is known; indeterminate if the key must not be dumped.

Keys containing a '=' are considered to be internal only and must not be dumped to an INI file or XML.

Definition at line 523 of file RepoInfo.cc.

◆ hasExtraValue()

bool zypp::RepoInfo::Impl::hasExtraValue ( const std::string & key_r) const
inline

Definition at line 535 of file RepoInfo.cc.

◆ extraValue()

std::string zypp::RepoInfo::Impl::extraValue ( const std::string & key_r) const
inline

Definition at line 538 of file RepoInfo.cc.

◆ setExtraValue()

bool zypp::RepoInfo::Impl::setExtraValue ( const std::string & key_r,
std::string value_r )
inline

Definition at line 541 of file RepoInfo.cc.

◆ forDumpableExtraValues()

template<typename Fnc>
void zypp::RepoInfo::Impl::forDumpableExtraValues ( Fnc && fnc_r) const
inline

Filter discarding not dumpable extra values.

Definition at line 549 of file RepoInfo.cc.

◆ clone()

Impl * zypp::RepoInfo::Impl::clone ( ) const
inlineprivate

clone for RWCOW_pointer

Definition at line 584 of file RepoInfo.cc.

◆ rwcowClone

Impl * rwcowClone ( const Impl * rhs)
friend

Member Data Documentation

◆ defaultPriority

const unsigned zypp::RepoInfo::Impl::defaultPriority = 99
static

Definition at line 123 of file RepoInfo.cc.

◆ noPriority

const unsigned zypp::RepoInfo::Impl::noPriority = unsigned(-1)
static

Definition at line 124 of file RepoInfo.cc.

◆ _rawGpgCheck

TriBool zypp::RepoInfo::Impl::_rawGpgCheck
private

default gpgcheck behavior: Y/N/ZConf

Definition at line 422 of file RepoInfo.cc.

◆ _rawRepoGpgCheck

TriBool zypp::RepoInfo::Impl::_rawRepoGpgCheck
private

need to check repo sign.: Y/N/(ZConf(Y/N/gpgCheck))

Definition at line 423 of file RepoInfo.cc.

◆ _rawPkgGpgCheck

TriBool zypp::RepoInfo::Impl::_rawPkgGpgCheck
private

need to check pkg sign.: Y/N/(ZConf(Y/N/gpgCheck))

Definition at line 424 of file RepoInfo.cc.

◆ _validRepoSignature

TriBool zypp::RepoInfo::Impl::_validRepoSignature
private

have signed and valid repo metadata

Definition at line 443 of file RepoInfo.cc.

◆ _type

repo::RepoType zypp::RepoInfo::Impl::_type
private

Definition at line 444 of file RepoInfo.cc.

◆ _cfgMirrorlistUrl

RepoVariablesReplacedUrl zypp::RepoInfo::Impl::_cfgMirrorlistUrl
private

Definition at line 447 of file RepoInfo.cc.

◆ _cfgMetalinkUrl

RepoVariablesReplacedUrl zypp::RepoInfo::Impl::_cfgMetalinkUrl
private

Definition at line 448 of file RepoInfo.cc.

◆ keeppackages

TriBool zypp::RepoInfo::Impl::keeppackages

Definition at line 468 of file RepoInfo.cc.

◆ _path

Pathname zypp::RepoInfo::Impl::_path

Definition at line 469 of file RepoInfo.cc.

◆ service

std::string zypp::RepoInfo::Impl::service

Definition at line 470 of file RepoInfo.cc.

◆ targetDistro

std::string zypp::RepoInfo::Impl::targetDistro

Definition at line 471 of file RepoInfo.cc.

◆ priority

DefaultIntegral<unsigned,defaultPriority> zypp::RepoInfo::Impl::priority

Definition at line 514 of file RepoInfo.cc.

◆ _extraValues

std::map<std::string,std::string> zypp::RepoInfo::Impl::_extraValues

Basically raw .repo file key-value lines.

Definition at line 517 of file RepoInfo.cc.

◆ _metadataPath

Pathname zypp::RepoInfo::Impl::_metadataPath
private

Definition at line 568 of file RepoInfo.cc.

◆ _packagesPath

Pathname zypp::RepoInfo::Impl::_packagesPath
private

Definition at line 569 of file RepoInfo.cc.

◆ _alternatePackagesPath

std::optional<Pathname> zypp::RepoInfo::Impl::_alternatePackagesPath
private

in case _packagesPath is not writable

Definition at line 570 of file RepoInfo.cc.

◆ _baseUrls

RepoVariablesReplacedUrlList zypp::RepoInfo::Impl::_baseUrls
mutableprivate

baseUrls as configured

Definition at line 572 of file RepoInfo.cc.

◆ _mirrorUrls

RepoVariablesReplacedUrlList zypp::RepoInfo::Impl::_mirrorUrls
mutableprivate

possible mirrors as fetched via mirrorlist or metalink

Definition at line 574 of file RepoInfo.cc.

◆ _lastMirrorUrlsUpdate

std::chrono::steady_clock::time_point zypp::RepoInfo::Impl::_lastMirrorUrlsUpdate = std::chrono::steady_clock::time_point::min()
mutableprivate

Definition at line 575 of file RepoInfo.cc.

◆ _repoOrigins

std::vector<MirroredOrigin> zypp::RepoInfo::Impl::_repoOrigins
mutableprivate

Definition at line 576 of file RepoInfo.cc.

◆ _keywords

std::pair<FalseBool, std::set<std::string> > zypp::RepoInfo::Impl::_keywords
mutableprivate

Definition at line 578 of file RepoInfo.cc.

◆ _gpgKeyUrls

RepoVariablesReplacedUrlList zypp::RepoInfo::Impl::_gpgKeyUrls
private

Definition at line 580 of file RepoInfo.cc.


The documentation for this struct was generated from the following file: