libzypp  17.35.14
zypp::ResPoolProxy Class Reference

ResPool::instance().proxy();. More...

#include <zypp/ResPoolProxy.h>

Classes

struct  Impl
 ResPoolProxy implementation. More...
 
class  ScopedSaveState
 Exception safe scoped save/restore state. More...
 

Public Types

using const_iterator = MapKVIteratorTraits< SelectablePool >::Value_const_iterator
 
using size_type = SelectablePool::size_type
 
using repository_iterator = ResPool::repository_iterator
 

Public Member Functions

 ResPoolProxy ()
 Default ctor: no pool Nonempty proxies are provided by ResPool. More...
 
 ~ResPoolProxy ()
 Dtor. More...
 
bool hasInstalledObj (const ResKind &kind_r) const
 Test whether there is at least one ui::Selectable with an installed object. More...
 
template<class TRes >
bool hasInstalledObj () const
 
Lookup individual Selectables.
ui::Selectable::Ptr lookup (const pool::ByIdent &ident_r) const
 
ui::Selectable::Ptr lookup (IdString ident_r) const
 
ui::Selectable::Ptr lookup (ResKind kind_r, const std::string &name_r) const
 
ui::Selectable::Ptr lookup (const sat::Solvable &solv_r) const
 
ui::Selectable::Ptr lookup (const ResObject::constPtr &resolvable_r) const
 
ui::Selectable::Ptr lookup (const PoolItem &pi_r) const
 
Iterate through all Selectables of a all kind.
bool empty () const
 
size_type size () const
 
const_iterator begin () const
 
const_iterator end () const
 
Iterate through all Selectables of a certain kind.
bool empty (const ResKind &kind_r) const
 True if there are items of a certain kind. More...
 
template<class TRes >
bool empty () const
 
size_type size (const ResKind &kind_r) const
 Number of Items of a certain kind. More...
 
template<class TRes >
size_type size () const
 
const_iterator byKindBegin (const ResKind &kind_r) const
 
template<class TRes >
const_iterator byKindBegin () const
 
const_iterator byKindEnd (const ResKind &kind_r) const
 
template<class TRes >
const_iterator byKindEnd () const
 
Iterable< const_iteratorbyKind (const ResKind &kind_r) const
 
template<class TRes >
Iterable< const_iteratorbyKind () const
 
Iterate through all Repositories that contribute ResObjects.
size_type knownRepositoriesSize () const
 
repository_iterator knownRepositoriesBegin () const
 
repository_iterator knownRepositoriesEnd () const
 
Iterable< repository_iteratorknownRepositories () const
 
Save and restore state per kind of resolvable.

Simple version, no safety net.

So don't restore or diff, if you didn't save before.

Diff returns true, if current stat differs from the saved state.

Use scopedSaveState for exception safe scoped save/restore

void saveState () const
 
void saveState (const ResKind &kind_r) const
 
template<class TRes >
void saveState () const
 
void restoreState () const
 
void restoreState (const ResKind &kind_r) const
 
template<class TRes >
void restoreState () const
 
bool diffState () const
 
bool diffState (const ResKind &kind_r) const
 
template<class TRes >
bool diffState () const
 
ScopedSaveState scopedSaveState () const
 
ScopedSaveState scopedSaveState (const ResKind &kind_r) const
 
template<class TRes >
ScopedSaveState && scopedSaveState () const
 

Private Types

using SelectablePool = std::multimap< ResKind, ui::Selectable::Ptr >
 

Private Member Functions

template<class TFilter >
filter_iterator< TFilter, const_iteratormake_begin (TFilter filter_r, const ResKind &kind_r) const
 
template<class TFilter >
filter_iterator< TFilter, const_iteratormake_begin (const ResKind &kind_r) const
 
template<class TFilter >
filter_iterator< TFilter, const_iteratormake_end (TFilter filter_r, const ResKind &kind_r) const
 
template<class TFilter >
filter_iterator< TFilter, const_iteratormake_end (const ResKind &kind_r) const
 
 ResPoolProxy (ResPool pool_r, const pool::PoolImpl &poolImpl_r)
 Ctor. More...
 

Private Attributes

RW_pointer< Impl_pimpl
 Pointer to implementation. More...
 

Friends

class pool::PoolImpl
 
std::ostream & operator<< (std::ostream &str, const ResPoolProxy &obj)
 
std::ostream & dumpOn (std::ostream &str, const ResPoolProxy &obj)
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const ResPoolProxy &obj)
 
std::ostream & dumpOn (std::ostream &str, const ResPoolProxy &obj)
 

Detailed Description

ResPool::instance().proxy();.

Todo:
integrate it into ResPool

Definition at line 35 of file ResPoolProxy.h.

Member Typedef Documentation

◆ SelectablePool

Definition at line 39 of file ResPoolProxy.h.

◆ const_iterator

Definition at line 45 of file ResPoolProxy.h.

◆ size_type

using zypp::ResPoolProxy::size_type = SelectablePool::size_type

Definition at line 46 of file ResPoolProxy.h.

◆ repository_iterator

Constructor & Destructor Documentation

◆ ResPoolProxy() [1/2]

zypp::ResPoolProxy::ResPoolProxy ( )

Default ctor: no pool Nonempty proxies are provided by ResPool.

See also
ResPool::proxy

Definition at line 249 of file ResPoolProxy.cc.

◆ ~ResPoolProxy()

zypp::ResPoolProxy::~ResPoolProxy ( )

Dtor.

Definition at line 267 of file ResPoolProxy.cc.

◆ ResPoolProxy() [2/2]

zypp::ResPoolProxy::ResPoolProxy ( ResPool  pool_r,
const pool::PoolImpl poolImpl_r 
)
private

Ctor.

Definition at line 258 of file ResPoolProxy.cc.

Member Function Documentation

◆ lookup() [1/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( const pool::ByIdent ident_r) const

Definition at line 276 of file ResPoolProxy.cc.

◆ lookup() [2/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( IdString  ident_r) const
inline

Definition at line 69 of file ResPoolProxy.h.

◆ lookup() [3/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( ResKind  kind_r,
const std::string &  name_r 
) const
inline

Definition at line 72 of file ResPoolProxy.h.

◆ lookup() [4/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( const sat::Solvable solv_r) const
inline

Definition at line 75 of file ResPoolProxy.h.

◆ lookup() [5/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( const ResObject::constPtr resolvable_r) const
inline

Definition at line 78 of file ResPoolProxy.h.

◆ lookup() [6/6]

ui::Selectable::Ptr zypp::ResPoolProxy::lookup ( const PoolItem pi_r) const
inline

Definition at line 81 of file ResPoolProxy.h.

◆ empty() [1/3]

bool zypp::ResPoolProxy::empty ( ) const

Definition at line 279 of file ResPoolProxy.cc.

◆ size() [1/3]

ResPoolProxy::size_type zypp::ResPoolProxy::size ( ) const

Definition at line 282 of file ResPoolProxy.cc.

◆ begin()

ResPoolProxy::const_iterator zypp::ResPoolProxy::begin ( ) const

Definition at line 285 of file ResPoolProxy.cc.

◆ end()

ResPoolProxy::const_iterator zypp::ResPoolProxy::end ( ) const

Definition at line 288 of file ResPoolProxy.cc.

◆ empty() [2/3]

bool zypp::ResPoolProxy::empty ( const ResKind kind_r) const

True if there are items of a certain kind.

Definition at line 291 of file ResPoolProxy.cc.

◆ empty() [3/3]

template<class TRes >
bool zypp::ResPoolProxy::empty ( ) const
inline

Definition at line 100 of file ResPoolProxy.h.

◆ size() [2/3]

ResPoolProxy::size_type zypp::ResPoolProxy::size ( const ResKind kind_r) const

Number of Items of a certain kind.

Definition at line 294 of file ResPoolProxy.cc.

◆ size() [3/3]

template<class TRes >
size_type zypp::ResPoolProxy::size ( ) const
inline

Definition at line 107 of file ResPoolProxy.h.

◆ byKindBegin() [1/2]

ResPoolProxy::const_iterator zypp::ResPoolProxy::byKindBegin ( const ResKind kind_r) const

Definition at line 297 of file ResPoolProxy.cc.

◆ byKindBegin() [2/2]

template<class TRes >
const_iterator zypp::ResPoolProxy::byKindBegin ( ) const
inline

Definition at line 113 of file ResPoolProxy.h.

◆ byKindEnd() [1/2]

ResPoolProxy::const_iterator zypp::ResPoolProxy::byKindEnd ( const ResKind kind_r) const

Definition at line 300 of file ResPoolProxy.cc.

◆ byKindEnd() [2/2]

template<class TRes >
const_iterator zypp::ResPoolProxy::byKindEnd ( ) const
inline

Definition at line 120 of file ResPoolProxy.h.

◆ byKind() [1/2]

Iterable<const_iterator> zypp::ResPoolProxy::byKind ( const ResKind kind_r) const
inline

Definition at line 124 of file ResPoolProxy.h.

◆ byKind() [2/2]

template<class TRes >
Iterable<const_iterator> zypp::ResPoolProxy::byKind ( ) const
inline

Definition at line 128 of file ResPoolProxy.h.

◆ knownRepositoriesSize()

ResPoolProxy::size_type zypp::ResPoolProxy::knownRepositoriesSize ( ) const

Definition at line 303 of file ResPoolProxy.cc.

◆ knownRepositoriesBegin()

ResPoolProxy::repository_iterator zypp::ResPoolProxy::knownRepositoriesBegin ( ) const

Definition at line 306 of file ResPoolProxy.cc.

◆ knownRepositoriesEnd()

ResPoolProxy::repository_iterator zypp::ResPoolProxy::knownRepositoriesEnd ( ) const

Definition at line 309 of file ResPoolProxy.cc.

◆ knownRepositories()

Iterable<repository_iterator> zypp::ResPoolProxy::knownRepositories ( ) const
inline

Definition at line 143 of file ResPoolProxy.h.

◆ hasInstalledObj() [1/2]

bool zypp::ResPoolProxy::hasInstalledObj ( const ResKind kind_r) const
inline

Test whether there is at least one ui::Selectable with an installed object.

Definition at line 151 of file ResPoolProxy.h.

◆ hasInstalledObj() [2/2]

template<class TRes >
bool zypp::ResPoolProxy::hasInstalledObj ( ) const
inline

Definition at line 158 of file ResPoolProxy.h.

◆ saveState() [1/3]

void zypp::ResPoolProxy::saveState ( ) const

Definition at line 312 of file ResPoolProxy.cc.

◆ saveState() [2/3]

void zypp::ResPoolProxy::saveState ( const ResKind kind_r) const

Definition at line 315 of file ResPoolProxy.cc.

◆ saveState() [3/3]

template<class TRes >
void zypp::ResPoolProxy::saveState ( ) const
inline

Definition at line 177 of file ResPoolProxy.h.

◆ restoreState() [1/3]

void zypp::ResPoolProxy::restoreState ( ) const

Definition at line 318 of file ResPoolProxy.cc.

◆ restoreState() [2/3]

void zypp::ResPoolProxy::restoreState ( const ResKind kind_r) const

Definition at line 321 of file ResPoolProxy.cc.

◆ restoreState() [3/3]

template<class TRes >
void zypp::ResPoolProxy::restoreState ( ) const
inline

Definition at line 185 of file ResPoolProxy.h.

◆ diffState() [1/3]

bool zypp::ResPoolProxy::diffState ( ) const

Definition at line 324 of file ResPoolProxy.cc.

◆ diffState() [2/3]

bool zypp::ResPoolProxy::diffState ( const ResKind kind_r) const

Definition at line 327 of file ResPoolProxy.cc.

◆ diffState() [3/3]

template<class TRes >
bool zypp::ResPoolProxy::diffState ( ) const
inline

Definition at line 193 of file ResPoolProxy.h.

◆ scopedSaveState() [1/3]

ResPoolProxy::ScopedSaveState zypp::ResPoolProxy::scopedSaveState ( ) const
inline

Definition at line 302 of file ResPoolProxy.h.

◆ scopedSaveState() [2/3]

ResPoolProxy::ScopedSaveState zypp::ResPoolProxy::scopedSaveState ( const ResKind kind_r) const
inline

Definition at line 305 of file ResPoolProxy.h.

◆ scopedSaveState() [3/3]

template<class TRes >
ScopedSaveState&& zypp::ResPoolProxy::scopedSaveState ( ) const
inline

Definition at line 210 of file ResPoolProxy.h.

◆ make_begin() [1/2]

template<class TFilter >
filter_iterator<TFilter,const_iterator> zypp::ResPoolProxy::make_begin ( TFilter  filter_r,
const ResKind kind_r 
) const
inlineprivate

Definition at line 218 of file ResPoolProxy.h.

◆ make_begin() [2/2]

template<class TFilter >
filter_iterator<TFilter,const_iterator> zypp::ResPoolProxy::make_begin ( const ResKind kind_r) const
inlineprivate

Definition at line 226 of file ResPoolProxy.h.

◆ make_end() [1/2]

template<class TFilter >
filter_iterator<TFilter,const_iterator> zypp::ResPoolProxy::make_end ( TFilter  filter_r,
const ResKind kind_r 
) const
inlineprivate

Definition at line 234 of file ResPoolProxy.h.

◆ make_end() [2/2]

template<class TFilter >
filter_iterator<TFilter,const_iterator> zypp::ResPoolProxy::make_end ( const ResKind kind_r) const
inlineprivate

Definition at line 242 of file ResPoolProxy.h.

Friends And Related Function Documentation

◆ pool::PoolImpl

friend class pool::PoolImpl
friend

Definition at line 248 of file ResPoolProxy.h.

◆ operator<< [1/2]

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

Definition at line 330 of file ResPoolProxy.cc.

◆ dumpOn [1/2]

std::ostream& dumpOn ( std::ostream &  str,
const ResPoolProxy obj 
)
friend

Definition at line 333 of file ResPoolProxy.cc.

◆ operator<<() [2/2]

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

Stream output

Definition at line 330 of file ResPoolProxy.cc.

◆ dumpOn() [2/2]

std::ostream & dumpOn ( std::ostream &  str,
const ResPoolProxy obj 
)
related

Verbose stream output

Definition at line 333 of file ResPoolProxy.cc.

Member Data Documentation

◆ _pimpl

RW_pointer<Impl> zypp::ResPoolProxy::_pimpl
private

Pointer to implementation.

Definition at line 252 of file ResPoolProxy.h.


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