12#ifndef ZYPP_PRIVATE_KEYRINGIMPL_H
13#define ZYPP_PRIVATE_KEYRINGIMPL_H
17#include <zypp-core/fs/WatchFile>
80 const std::list<PublicKeyData> &
getData(
const Pathname & keyring_r )
const;
116 void importKeys(
const std::list<PublicKey> & keys,
const Ring ring );
152 if ( not ringKeyData ) {
238 {
return str << ( ring == KeyRingImpl::Ring::General ?
"generalKeyRing" :
"trustedKeyRing" ); }
zyppng::Signal< void(const PublicKey &)> _sigTrustedKeyAdded
std::list< PublicKey > publicKeys(const Ring ring) const
@ Update
old version of Key is in Ring
@ Missing
Key is not in Ring.
void importKey(const PublicKey &key, const Ring ring)
Import PublicKeys into a Ring.
const std::list< PublicKeyData > & publicKeyData(const Pathname &keyring) const
zyppng::SignalProxy< void(const PublicKey &)> sigTrustedKeyRemoved()
filesystem::TmpFile dumpPublicKeyToTmp(const std::string &id, const Pathname &keyring) const
PublicKeyData publicKeyData(const PublicKeyData &keyData, const Ring ring) const
MustUpdate mustUpdateData(const PublicKeyData &keyData, const Ring ring) const
Helper computing PublicKeyData's status in a Ring.
bool isKeyKnown(const std::string &id) const
PublicKey exportKey(const PublicKey &key, const Ring ring) const
void allowPreload(bool yesno_r)
filesystem::TmpDir _general_tmp_dir
bool verifyFile(const Pathname &file, const Pathname &signature, const Ring ring)
KeyRingImpl(const Pathname &baseTmpDir)
PublicKeyData publicKeyData(const std::string &id, const Ring ring) const
void preloadCachedKeys()
Load key files cached on the system into the generalKeyRing.
void multiKeyImport(const Pathname &keyfile_r, const Ring ring)
Used by RpmDB to import the trusted keys.
zyppng::Signal< void(const PublicKey &)> _sigTrustedKeyRemoved
const Pathname keyRingPath(const Ring ring) const
PublicKey exportKey(const PublicKeyData &keyData, const Ring ring) const
void deleteKey(const std::string &id, const Ring ring)
PublicKey exportKey(const std::string &id, const Ring ring) const
const std::list< PublicKeyData > & publicKeyData(const Ring ring) const
std::string readSignatureKeyId(const Pathname &signature)
void importKeys(const std::list< PublicKey > &keys, const Ring ring)
CachedPublicKeyData::Manip keyRingManip(const Pathname &keyring)
Impl helper providing on demand a KeyManagerCtx to manip a cached keyring.
bool isKeyTrusted(const std::string &id) const
void dumpPublicKey(const std::string &id, const Ring ring, std::ostream &stream)
PublicKeyData publicKeyData(const PublicKey &key, const Ring ring) const
zyppng::SignalProxy< void(const PublicKey &)> sigTrustedKeyAdded()
filesystem::TmpDir _trusted_tmp_dir
CachedPublicKeyData cachedPublicKeyData
Functor returning the keyrings data (cached).
Class representing one GPG Public Keys data.
bool isUpdateFor(const PublicKeyData &rhs) const
Whether this could replace rhs in a keyring.
std::string id() const
Key ID.
Class representing one GPG Public Key (PublicKeyData + ASCII armored in a tempfile).
const PublicKeyData & keyData() const
The public keys data (.
Provide a new empty temporary directory and recursively delete it when no longer needed.
Provide a new empty temporary file and delete it when no longer needed.
String related utilities and Regular expression matching.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
Easy-to use interface to the ZYPP dependency resolver.
std::ostream & operator<<(std::ostream &str, const Capabilities &obj)
relates: Capabilities Stream output
scoped_ptr< WatchFile > _keyringP
void assertCache(const Pathname &keyring_r)
std::list< PublicKeyData > _data
scoped_ptr< WatchFile > _keyringK
Helper providing on demand a KeyManagerCtx to manip the cached keyring.
std::optional< KeyManagerCtx > _context
KeyManagerCtx & keyManagerCtx()
Manip(CachedPublicKeyData &cache_r, Pathname keyring_r)
NON_COPYABLE_BUT_MOVE(Manip)
CachedPublicKeyData & _cache
Functor returning the keyrings data (cached).
void setDirty(const Pathname &keyring_r)
const std::list< PublicKeyData > & operator()(const Pathname &keyring_r) const
const std::list< PublicKeyData > & getData(const Pathname &keyring_r) const
Manip manip(Pathname keyring_r)
Helper providing on demand a KeyManagerCtx to manip the cached keyring.
std::map< Pathname, Cache > CacheMap