libzypp  17.1.1
zypp::ResPoolProxy Class Reference

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

#include <ResPoolProxy.h>

Classes

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

Public Types

typedef MapKVIteratorTraits< SelectablePool >::Value_const_iterator const_iterator
 
typedef SelectablePool::size_type size_type
 
typedef ResPool::repository_iterator 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

typedef std::multimap< ResKind, ui::Selectable::PtrSelectablePool
 

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 34 of file ResPoolProxy.h.

Member Typedef Documentation

◆ SelectablePool

Definition at line 38 of file ResPoolProxy.h.

◆ const_iterator

Definition at line 42 of file ResPoolProxy.h.

◆ size_type

typedef SelectablePool::size_type zypp::ResPoolProxy::size_type

Definition at line 45 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 248 of file ResPoolProxy.cc.

◆ ~ResPoolProxy()

zypp::ResPoolProxy::~ResPoolProxy ( )

Dtor.

Definition at line 266 of file ResPoolProxy.cc.

◆ ResPoolProxy() [2/2]

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

Ctor.

Definition at line 257 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 275 of file ResPoolProxy.cc.

◆ lookup() [2/6]

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

Definition at line 68 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 71 of file ResPoolProxy.h.

◆ lookup() [4/6]

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

Definition at line 74 of file ResPoolProxy.h.

◆ lookup() [5/6]

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

Definition at line 77 of file ResPoolProxy.h.

◆ lookup() [6/6]

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

Definition at line 80 of file ResPoolProxy.h.

◆ empty() [1/3]

bool zypp::ResPoolProxy::empty ( ) const

Definition at line 278 of file ResPoolProxy.cc.

◆ size() [1/3]

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

Definition at line 281 of file ResPoolProxy.cc.

◆ begin()

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

Definition at line 284 of file ResPoolProxy.cc.

◆ end()

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

Definition at line 287 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 290 of file ResPoolProxy.cc.

◆ empty() [3/3]

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

Definition at line 99 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 293 of file ResPoolProxy.cc.

◆ size() [3/3]

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

Definition at line 106 of file ResPoolProxy.h.

◆ byKindBegin() [1/2]

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

Definition at line 296 of file ResPoolProxy.cc.

◆ byKindBegin() [2/2]

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

Definition at line 112 of file ResPoolProxy.h.

◆ byKindEnd() [1/2]

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

Definition at line 299 of file ResPoolProxy.cc.

◆ byKindEnd() [2/2]

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

Definition at line 119 of file ResPoolProxy.h.

◆ byKind() [1/2]

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

Definition at line 123 of file ResPoolProxy.h.

◆ byKind() [2/2]

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

Definition at line 127 of file ResPoolProxy.h.

◆ knownRepositoriesSize()

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

Definition at line 302 of file ResPoolProxy.cc.

◆ knownRepositoriesBegin()

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

Definition at line 305 of file ResPoolProxy.cc.

◆ knownRepositoriesEnd()

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

Definition at line 308 of file ResPoolProxy.cc.

◆ knownRepositories()

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

Definition at line 142 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 150 of file ResPoolProxy.h.

◆ hasInstalledObj() [2/2]

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

Definition at line 157 of file ResPoolProxy.h.

◆ saveState() [1/3]

void zypp::ResPoolProxy::saveState ( ) const

Definition at line 311 of file ResPoolProxy.cc.

◆ saveState() [2/3]

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

Definition at line 314 of file ResPoolProxy.cc.

◆ saveState() [3/3]

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

Definition at line 176 of file ResPoolProxy.h.

◆ restoreState() [1/3]

void zypp::ResPoolProxy::restoreState ( ) const

Definition at line 317 of file ResPoolProxy.cc.

◆ restoreState() [2/3]

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

Definition at line 320 of file ResPoolProxy.cc.

◆ restoreState() [3/3]

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

Definition at line 184 of file ResPoolProxy.h.

◆ diffState() [1/3]

bool zypp::ResPoolProxy::diffState ( ) const

Definition at line 323 of file ResPoolProxy.cc.

◆ diffState() [2/3]

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

Definition at line 326 of file ResPoolProxy.cc.

◆ diffState() [3/3]

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

Definition at line 192 of file ResPoolProxy.h.

◆ scopedSaveState() [1/3]

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

Definition at line 301 of file ResPoolProxy.h.

◆ scopedSaveState() [2/3]

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

Definition at line 304 of file ResPoolProxy.h.

◆ scopedSaveState() [3/3]

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

Definition at line 209 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 217 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 225 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 233 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 241 of file ResPoolProxy.h.

Friends And Related Function Documentation

◆ pool::PoolImpl

friend class pool::PoolImpl
friend

Definition at line 247 of file ResPoolProxy.h.

◆ operator<< [1/2]

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

Definition at line 329 of file ResPoolProxy.cc.

◆ dumpOn [1/2]

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

Definition at line 332 of file ResPoolProxy.cc.

◆ operator<<() [2/2]

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

Stream output

Definition at line 329 of file ResPoolProxy.cc.

◆ dumpOn() [2/2]

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

Verbose stream output

Definition at line 332 of file ResPoolProxy.cc.

Member Data Documentation

◆ _pimpl

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

Pointer to implementation.

Definition at line 251 of file ResPoolProxy.h.


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