zypp::PoolItem_Ref Class Reference

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

#include <PoolItem.h>

List of all members.

tmp hack for save/restore state.

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

Public Member Functions

 PoolItem_Ref ()
 Default ctor for use in std::container.
 PoolItem_Ref (ResObject::constPtr res_r)
 Ctor.
 PoolItem_Ref (ResObject::constPtr res_r, const ResStatus &status_r)
 Ctor.
 ~PoolItem_Ref ()
 Dtor.
ResStatusstatus () const
 Returns the current status.
ResStatusstatusReset () const
 Reset status (applies autoprotection).
ResObject::constPtr resolvable () const
 Returns the ResObject::constPtr.
 operator ResObject::constPtr () const
 Implicit conversion into ResObject::constPtr to support query filters operating on ResObject.
ResObject::constPtr operator-> () const
 Forward -> access to ResObject.
 operator ResObject::constPtr::unspecified_bool_type () const
 Conversion to bool to allow pointer style tests for nonNULL resolvable.

Private Attributes

RW_pointer< Impl_pimpl
 Pointer to implementation.

Friends

std::ostream & operator<< (std::ostream &str, const PoolItem_Ref &obj)
 Stream output.

Related Functions

(Note that these are not member functions.)

bool operator== (const PoolItem_Ref &lhs, const PoolItem_Ref &rhs)
bool operator== (const PoolItem_Ref &lhs, const ResObject::constPtr &rhs)
bool operator== (const ResObject::constPtr &lhs, const PoolItem_Ref &rhs)
bool operator!= (const PoolItem_Ref &lhs, const PoolItem_Ref &rhs)
bool operator!= (const PoolItem_Ref &lhs, const ResObject::constPtr &rhs)
bool operator!= (const ResObject::constPtr &lhs, const PoolItem_Ref &rhs)

Classes

struct  Impl
 PoolItem_Ref implementation. More...


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_Ref are immediately visible in all copies (now COW).

Note:
Constness: Like pointer types, a const PoolItem_Ref 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 43 of file PoolItem.h.


Constructor & Destructor Documentation

zypp::PoolItem_Ref::PoolItem_Ref (  ) 

Default ctor for use in std::container.

Definition at line 140 of file PoolItem.cc.

zypp::PoolItem_Ref::PoolItem_Ref ( ResObject::constPtr  res_r  )  [explicit]

Ctor.

Definition at line 149 of file PoolItem.cc.

zypp::PoolItem_Ref::PoolItem_Ref ( ResObject::constPtr  res_r,
const ResStatus status_r 
)

Ctor.

Definition at line 158 of file PoolItem.cc.

zypp::PoolItem_Ref::~PoolItem_Ref (  ) 

Dtor.

Definition at line 167 of file PoolItem.cc.


Member Function Documentation

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

Returns the current status.

Definition at line 176 of file PoolItem.cc.

References _pimpl.

Referenced by zypp::syscontent::Writer::addIf(), zypp::syscontent::Writer::addInstalled(), zypp::solver::detail::ResolverQueue::addPoolItemToInstall(), zypp::solver::detail::ResolverQueue::addPoolItemToRemove(), zypp::solver::detail::ResolverQueue::addPoolItemToVerify(), zypp::solver::detail::downgrade_allowed(), zypp::solver::detail::TransactionSolutionAction::execute(), zypp::solver::detail::ResolverContext::getStatus(), zypp::ui::Selectable::Impl::hasLicenceConfirmed(), zypp::solver::detail::install_count_cb(), zypp::solver::detail::install_item_cb(), zypp::solver::detail::logAdditionalInfo(), zypp::ui::Selectable::Impl::modifiedBy(), zypp::solver::detail::LookForSelected::operator()(), zypp::solver::detail::FindProviders::operator()(), zypp::solver::detail::RequirementPossible::operator()(), zypp::solver::detail::ProvidesItem::operator()(), zypp::solver::detail::UninstallEstablishItem::operator()(), zypp::solver::detail::HintItem::operator()(), zypp::solver::detail::LookForUpgrades::operator()(), zypp::solver::detail::NoInstallableProviders::operator()(), zypp::solver::detail::RequireProcess::operator()(), zypp::solver::detail::CheckIfBest::operator()(), zypp::solver::detail::LookForReinstall::operator()(), zypp::solver::detail::LookForUpdate::operator()(), zypp::solver::detail::CollectTransact::operator()(), zypp::solver::detail::DoTransact::operator()(), zypp::solver::detail::UndoTransact::operator()(), zypp::resfilter::ByCaINotTransact::operator()(), zypp::resfilter::ByCaITransact::operator()(), zypp::resfilter::ByCaIInstalled::operator()(), zypp::resfilter::ByCaIUninstalled::operator()(), zypp::resfilter::ByKeep::operator()(), zypp::resfilter::ByLock::operator()(), zypp::resfilter::ByTransact::operator()(), zypp::resfilter::ByUninstalled::operator()(), zypp::resfilter::ByInstalled::operator()(), zypp::locks::ItemLockerFunc::operator()(), zypp::solver::detail::ProblemSolutionUninstall::ProblemSolutionUninstall(), zypp::solver::detail::QueueItemUninstall::process(), zypp::solver::detail::QueueItemRequire::process(), zypp::solver::detail::QueueItemInstall::process(), zypp::solver::detail::QueueItemEstablish::process(), zypp::solver::detail::satisfy_count_cb(), zypp::ui::Selectable::Impl::setCandidate(), zypp::ui::StatusHelper::setDelete(), zypp::solver::detail::setForInstallation(), zypp::ui::StatusHelper::setInstall(), zypp::ui::Selectable::Impl::setLicenceConfirmed(), zypp::ui::StatusHelper::setProtected(), zypp::solver::detail::solution_to_pool(), zypp::ui::Selectable::Impl::status(), zypp::pool::strip_obsoleted_to_delete(), zypp::solver::detail::ResolverContext::uninstall(), zypp::solver::detail::uninstall_count_cb(), zypp::ui::StatusHelper::unset(), zypp::solver::detail::ResolverContext::upgrade(), and zypp::solver::detail::upgrade_item_cb().

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

Reset status (applies autoprotection).

Definition at line 179 of file PoolItem.cc.

References _pimpl.

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

Returns the ResObject::constPtr.

See also:
operator->

Definition at line 182 of file PoolItem.cc.

References _pimpl.

Referenced by zypp::syscontent::Writer::addIf(), zypp::syscontent::Writer::addInstalled(), zypp::solver::detail::QueueItemUninstall::cmp(), zypp::solver::detail::QueueItemInstall::cmp(), zypp::solver::detail::QueueItemEstablish::cmp(), zypp::target::TargetImpl::commit(), zypp::solver::detail::downgrade_allowed(), zypp::solver::detail::dup_name_check_cb(), zypp::solver::detail::InjectSolutionAction::execute(), zypp::solver::detail::ResolverContext::install(), operator ResObject::constPtr(), operator ResObject::constPtr::unspecified_bool_type(), zypp::ui::SelectableTraits::AVOrder::operator()(), zypp::target::RepoProvidePackage::operator()(), zypp::solver::detail::AVOrder::operator()(), zypp::solver::detail::RequirementMet::operator()(), zypp::solver::detail::RequireProcess::operator()(), zypp::solver::detail::UninstallConflicting::operator()(), zypp::solver::detail::ConflictProcess::operator()(), zypp::solver::detail::CollectProviders::operator()(), zypp::solver::detail::LookForUpdate::operator()(), zypp::solver::detail::compare_items::operator()(), zypp::name_kind_proxy_details::AOrder::operator()(), zypp::name_kind_proxy_details::IOrder::operator()(), zypp::locks::Match::operator()(), zypp::locks::NameMatchCollectorFunc::operator()(), operator==(), zypp::solver::detail::QueueItemRequire::process(), zypp::solver::detail::QueueItemInstall::process(), zypp::solver::detail::QueueItemInstall::QueueItemInstall(), zypp::solver::detail::InstallOrder::rdfsvisit(), zypp::solver::detail::ResolverContext::uninstall(), and zypp::solver::detail::ResolverContext::upgrade().

zypp::PoolItem_Ref::operator ResObject::constPtr (  )  const [inline]

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

Definition at line 81 of file PoolItem.h.

References resolvable().

ResObject::constPtr zypp::PoolItem_Ref::operator-> (  )  const [inline]

Forward -> access to ResObject.

Definition at line 85 of file PoolItem.h.

zypp::PoolItem_Ref::operator ResObject::constPtr::unspecified_bool_type (  )  const [inline]

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

Definition at line 90 of file PoolItem.h.

References resolvable().

void zypp::PoolItem_Ref::saveState (  )  const [private]

Definition at line 185 of file PoolItem.cc.

References _pimpl.

Referenced by zypp::PoolItemSaver::saveState().

void zypp::PoolItem_Ref::restoreState (  )  const [private]

Definition at line 188 of file PoolItem.cc.

References _pimpl.

Referenced by zypp::PoolItemSaver::restoreState().

bool zypp::PoolItem_Ref::sameState (  )  const [private]

Definition at line 191 of file PoolItem.cc.

References _pimpl.

Referenced by zypp::PoolItemSaver::diffState().


Friends And Related Function Documentation

friend class PoolItemSaver [friend]

Todo:
get rid of it.

Definition at line 101 of file PoolItem.h.

std::ostream & operator<< ( std::ostream &  str,
const PoolItem_Ref obj 
) [friend]

Stream output.

Definition at line 199 of file PoolItem.cc.

bool operator== ( const PoolItem_Ref lhs,
const PoolItem_Ref rhs 
) [related]

Definition at line 115 of file PoolItem.h.

References resolvable().

bool operator== ( const PoolItem_Ref lhs,
const ResObject::constPtr rhs 
) [related]

Definition at line 119 of file PoolItem.h.

References resolvable().

bool operator== ( const ResObject::constPtr lhs,
const PoolItem_Ref rhs 
) [related]

Definition at line 123 of file PoolItem.h.

References resolvable().

bool operator!= ( const PoolItem_Ref lhs,
const PoolItem_Ref rhs 
) [related]

Definition at line 128 of file PoolItem.h.

bool operator!= ( const PoolItem_Ref lhs,
const ResObject::constPtr rhs 
) [related]

Definition at line 132 of file PoolItem.h.

bool operator!= ( const ResObject::constPtr lhs,
const PoolItem_Ref rhs 
) [related]

Definition at line 136 of file PoolItem.h.


Member Data Documentation

RW_pointer<Impl> zypp::PoolItem_Ref::_pimpl [private]

Pointer to implementation.

Definition at line 95 of file PoolItem.h.

Referenced by zypp::operator<<(), resolvable(), restoreState(), sameState(), saveState(), status(), and statusReset().


The documentation for this class was generated from the following files:
Generated on Tue Sep 25 19:23:15 2007 for libzypp by  doxygen 1.5.3