libzypp  13.10.6
zypp::PoolItem Class Reference

Reference to a PoolItem connecting ResObject and ResStatus. More...

#include <PoolItem.h>

Classes

struct  Impl
 PoolItem implementation. More...
 

Public Member Functions

 PoolItem ()
 Default ctor for use in std::container. More...
 
 PoolItem (const sat::Solvable &solvable_r)
 Ctor looking up the sat::Solvable in the ResPool. More...
 
 PoolItem (const ResObject::constPtr &resolvable_r)
 Ctor looking up the ResObject in the ResPool. More...
 
 ~PoolItem ()
 Dtor. More...
 
ResPool pool () const
 Return the ResPool the item belongs to. More...
 
sat::Solvable satSolvable () const
 Return the corresponding sat::Solvable. More...
 
sat::Solvable buddy () const
 Return the buddy we share our status object with. More...
 
ResObject::constPtr resolvable () const
 Returns the ResObject::constPtr. More...
 
 operator ResObject::constPtr () const
 Implicit conversion into ResObject::constPtr to support query filters operating on ResObject. More...
 
ResObject::constPtr operator-> () const
 Forward -> access to ResObject. More...
 
 operator bool () const
 Conversion to bool to allow pointer style tests for nonNULL resolvable. More...
 
Status related methods.
ResStatusstatus () const
 Returns the current status. More...
 
ResStatusstatusReset () const
 Reset status. More...
 
Status validation.

Performed for non-packages.

bool isUndetermined () const
 No validation is performed for packages. More...
 
bool isRelevant () const
 Returns true if the solvable is relevant which means e.g. More...
 
bool isSatisfied () const
 Whether a relevant items requirements are met. More...
 
bool isBroken () const
 Whether a relevant items requirements are broken. More...
 
bool isNeeded () const
 This includes unlocked broken patches, as well as those already selected to be installed (otherwise classified as satisfied). More...
 
bool isUnwanted () const
 Broken (needed) but locked patches. More...
 

Private Member Functions

void setBuddy (sat::Solvable solv_r)
 Buddies are set by pool::PoolImpl. More...
 
 PoolItem (Impl *implptr_r)
 internal ctor More...
 

Static Private Member Functions

static PoolItem makePoolItem (const sat::Solvable &solvable_r)
 PoolItem generator for pool::PoolImpl. More...
 

Private Attributes

RW_pointer< Impl_pimpl
 Pointer to implementation. More...
 

Friends

class Impl
 
class pool::PoolImpl
 
std::ostream & operator<< (std::ostream &str, const PoolItem &obj)
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &str, const PoolItem &obj)
 
bool operator== (const PoolItem &lhs, const PoolItem &rhs)
 
bool operator== (const PoolItem &lhs, const ResObject::constPtr &rhs)
 
bool operator== (const ResObject::constPtr &lhs, const PoolItem &rhs)
 
bool operator!= (const PoolItem &lhs, const PoolItem &rhs)
 
bool operator!= (const PoolItem &lhs, const ResObject::constPtr &rhs)
 
bool operator!= (const ResObject::constPtr &lhs, const PoolItem &rhs)
 
bool identical (const PoolItem &lhs, const PoolItem &rhs)
 
bool identical (const PoolItem &lhs, sat::Solvable rhs)
 
bool identical (sat::Solvable lhs, const PoolItem &rhs)
 
bool sameNVRA (const PoolItem &lhs, const PoolItem &rhs)
 
bool sameNVRA (const PoolItem &lhs, sat::Solvable rhs)
 
bool sameNVRA (sat::Solvable lhs, const PoolItem &rhs)
 
template<>
bool operator() (const zypp::PoolItem &lhs, const zypp::PoolItem &rhs) const
 

tmp hack for save/restore state.

class PoolItemSaver
 
void saveState () const
 
void restoreState () const
 
bool sameState () const
 

Detailed Description

Reference to a PoolItem connecting ResObject and ResStatus.

The "real" PoolItem is usg. somewhere in the ResPool. This is a reference to it. All copies made will reference (and modify) the same PoolItem. All changes via a PoolItem are immediately visible in all copies (now COW).

Note
Constness: Like pointer types, a const PoolItem does not refer to a const PoolItem. The reference is const, i.e. you can't change the refered PoolItem. The PoolItem (i.e. the status) is always mutable.

Definition at line 50 of file PoolItem.h.

Constructor & Destructor Documentation

zypp::PoolItem::PoolItem ( )

Default ctor for use in std::container.

Definition at line 178 of file PoolItem.cc.

zypp::PoolItem::PoolItem ( const sat::Solvable solvable_r)
explicit

Ctor looking up the sat::Solvable in the ResPool.

Definition at line 187 of file PoolItem.cc.

zypp::PoolItem::PoolItem ( const ResObject::constPtr resolvable_r)
explicit

Ctor looking up the ResObject in the ResPool.

Definition at line 196 of file PoolItem.cc.

zypp::PoolItem::~PoolItem ( )

Dtor.

Definition at line 224 of file PoolItem.cc.

zypp::PoolItem::PoolItem ( Impl implptr_r)
explicitprivate

internal ctor

Definition at line 205 of file PoolItem.cc.

Member Function Documentation

ResStatus & zypp::PoolItem::status ( ) const

Returns the current status.

Definition at line 241 of file PoolItem.cc.

ResStatus & zypp::PoolItem::statusReset ( ) const

Reset status.

Definition at line 244 of file PoolItem.cc.

bool zypp::PoolItem::isUndetermined ( ) const

No validation is performed for packages.

Definition at line 253 of file PoolItem.cc.

bool zypp::PoolItem::isRelevant ( ) const

Returns true if the solvable is relevant which means e.g.

for patches that at least one package of the patch is installed.

Definition at line 256 of file PoolItem.cc.

bool zypp::PoolItem::isSatisfied ( ) const

Whether a relevant items requirements are met.

Definition at line 259 of file PoolItem.cc.

bool zypp::PoolItem::isBroken ( ) const

Whether a relevant items requirements are broken.

Definition at line 262 of file PoolItem.cc.

bool zypp::PoolItem::isNeeded ( ) const

This includes unlocked broken patches, as well as those already selected to be installed (otherwise classified as satisfied).

Definition at line 265 of file PoolItem.cc.

bool zypp::PoolItem::isUnwanted ( ) const

Broken (needed) but locked patches.

Definition at line 268 of file PoolItem.cc.

ResPool zypp::PoolItem::pool ( ) const

Return the ResPool the item belongs to.

Definition at line 232 of file PoolItem.cc.

sat::Solvable zypp::PoolItem::satSolvable ( ) const
inline

Return the corresponding sat::Solvable.

Definition at line 114 of file PoolItem.h.

sat::Solvable zypp::PoolItem::buddy ( ) const

Return the buddy we share our status object with.

A Product e.g. may share it's status with an associated reference Package.

Definition at line 247 of file PoolItem.cc.

ResObject::constPtr zypp::PoolItem::resolvable ( ) const

Returns the ResObject::constPtr.

See Also
operator->

Definition at line 280 of file PoolItem.cc.

zypp::PoolItem::operator ResObject::constPtr ( ) const
inline

Implicit conversion into ResObject::constPtr to support query filters operating on ResObject.

Definition at line 131 of file PoolItem.h.

ResObject::constPtr zypp::PoolItem::operator-> ( ) const
inline

Forward -> access to ResObject.

Definition at line 135 of file PoolItem.h.

zypp::PoolItem::operator bool ( ) const
inlineexplicit

Conversion to bool to allow pointer style tests for nonNULL resolvable.

Definition at line 140 of file PoolItem.h.

PoolItem zypp::PoolItem::makePoolItem ( const sat::Solvable solvable_r)
staticprivate

PoolItem generator for pool::PoolImpl.

Definition at line 214 of file PoolItem.cc.

void zypp::PoolItem::setBuddy ( sat::Solvable  solv_r)
private

Buddies are set by pool::PoolImpl.

Definition at line 250 of file PoolItem.cc.

void zypp::PoolItem::saveState ( ) const
private

Definition at line 271 of file PoolItem.cc.

void zypp::PoolItem::restoreState ( ) const
private

Definition at line 274 of file PoolItem.cc.

bool zypp::PoolItem::sameState ( ) const
private

Definition at line 277 of file PoolItem.cc.

Friends And Related Function Documentation

friend class Impl
friend

Definition at line 144 of file PoolItem.h.

friend class pool::PoolImpl
friend

Definition at line 145 of file PoolItem.h.

friend class PoolItemSaver
friend
Todo:
get rid of it.

Definition at line 159 of file PoolItem.h.

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

Definition at line 288 of file PoolItem.cc.

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

Stream output

Definition at line 288 of file PoolItem.cc.

bool operator== ( const PoolItem lhs,
const PoolItem rhs 
)
related

Definition at line 171 of file PoolItem.h.

bool operator== ( const PoolItem lhs,
const ResObject::constPtr rhs 
)
related

Definition at line 175 of file PoolItem.h.

bool operator== ( const ResObject::constPtr lhs,
const PoolItem rhs 
)
related

Definition at line 179 of file PoolItem.h.

bool operator!= ( const PoolItem lhs,
const PoolItem rhs 
)
related

Definition at line 184 of file PoolItem.h.

bool operator!= ( const PoolItem lhs,
const ResObject::constPtr rhs 
)
related

Definition at line 188 of file PoolItem.h.

bool operator!= ( const ResObject::constPtr lhs,
const PoolItem rhs 
)
related

Definition at line 192 of file PoolItem.h.

bool identical ( const PoolItem lhs,
const PoolItem rhs 
)
related

Test for same content.

Definition at line 197 of file PoolItem.h.

bool identical ( const PoolItem lhs,
sat::Solvable  rhs 
)
related

Test for same content.

Definition at line 201 of file PoolItem.h.

bool identical ( sat::Solvable  lhs,
const PoolItem rhs 
)
related

Test for same content.

Definition at line 205 of file PoolItem.h.

bool sameNVRA ( const PoolItem lhs,
const PoolItem rhs 
)
related

Test for same name version release and arch.

Definition at line 210 of file PoolItem.h.

bool sameNVRA ( const PoolItem lhs,
sat::Solvable  rhs 
)
related

Test for same name version release and arch.

Definition at line 214 of file PoolItem.h.

bool sameNVRA ( sat::Solvable  lhs,
const PoolItem rhs 
)
related

Test for same name version release and arch.

Definition at line 218 of file PoolItem.h.

bool operator() ( const zypp::PoolItem lhs,
const zypp::PoolItem rhs 
) const
related

Order in std::container follows ResObject::constPtr.

Definition at line 242 of file PoolItem.h.

Member Data Documentation

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

Pointer to implementation.

Definition at line 153 of file PoolItem.h.


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