libzypp 17.38.8
zypp::RepoInfo::Impl Struct Reference

RepoInfo implementation. More...

Public Member Functions

 Impl ()
 Impl (const Impl &)=default
 Impl (Impl &&)=delete
Imploperator= (const Impl &)=delete
Imploperator= (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 RepoVariablesReplacedUrlListbaseUrls () const
Url location () const
void resetMirrorUrls () const
RepoVariablesReplacedUrlListmirrorUrls () const
 Fetch the repo mirrors from the server.
MirroredOriginSet repoOrigins () const
RepoVariablesReplacedUrlListbaseUrls ()
bool baseurl2dump () const
const RepoVariablesReplacedUrlListgpgKeyUrls () const
RepoVariablesReplacedUrlListgpgKeyUrls ()
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 RepoVariablesReplacedUrlmirrorListUrl () const
 THE mirrorListUrl to work with (either_cfgMirrorlistUrl or _cfgMetalinkUrl)
void setMirrorlistUrl (const Url &url_r)
void setMetalinkUrl (const Url &url_r)
const RepoVariablesReplacedUrlcfgMirrorlistUrl () const
 Config file writing needs to tell them appart.
const RepoVariablesReplacedUrlcfgMetalinkUrl () 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, defaultPrioritypriority
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

Implclone () 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

ImplrwcowClone (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: