Author: mlandres Date: Wed Apr 2 10:23:56 2008 New Revision: 9334 URL: http://svn.opensuse.org/viewcvs/zypp?rev=9334&view=rev Log: add PoolItem::isSatisfied/isBroken Modified: trunk/libzypp/zypp/PoolItem.cc trunk/libzypp/zypp/PoolItem.h Modified: trunk/libzypp/zypp/PoolItem.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/PoolItem.cc?rev=9334&r1=9333&r2=9334&view=diff ============================================================================== --- trunk/libzypp/zypp/PoolItem.cc (original) +++ trunk/libzypp/zypp/PoolItem.cc Wed Apr 2 10:23:56 2008 @@ -30,63 +30,69 @@ /** PoolItem implementation. */ struct PoolItem::Impl { - Impl() - {} + public: + Impl() {} - Impl( ResObject::constPtr res_r, - const ResStatus & status_r ) - : _status( status_r ) - , _resolvable( res_r ) - { - } - - ResStatus & status() const - { return _status; } - - ResObject::constPtr resolvable() const - { return _resolvable; } - - ResStatus & statusReset() const - { - _status.setLock( false, zypp::ResStatus::USER ); - _status.resetTransact( zypp::ResStatus::USER ); - return _status; - } - - - private: - mutable ResStatus _status; - ResObject::constPtr _resolvable; + Impl( ResObject::constPtr res_r, + const ResStatus & status_r ) + : _status( status_r ) + , _resolvable( res_r ) + {} + + ResStatus & status() const + { return _status; } + + ResObject::constPtr resolvable() const + { return _resolvable; } + + ResStatus & statusReset() const + { + _status.setLock( false, zypp::ResStatus::USER ); + _status.resetTransact( zypp::ResStatus::USER ); + return _status; + } + + public: + + bool isSatisfied() const + { +#warning TBD determine isSatisfied + return true; + } + + private: + mutable ResStatus _status; + ResObject::constPtr _resolvable; /** \name Poor man's save/restore state. - * \todo There may be better save/restore state strategies. - */ + * \todo There may be better save/restore state strategies. + */ //@{ - public: - void saveState() const - { _savedStatus = _status; } - void restoreState() const - { _status = _savedStatus; } - bool sameState() const - { - if ( _status.getTransactValue() != _savedStatus.getTransactValue() - && !_status.isBySolver() ) - return false; - if ( _status.isLicenceConfirmed() != _savedStatus.isLicenceConfirmed() ) - return false; - return true; - } - private: - mutable ResStatus _savedStatus; + public: + void saveState() const + { _savedStatus = _status; } + void restoreState() const + { _status = _savedStatus; } + bool sameState() const + { + if ( _status.getTransactValue() != _savedStatus.getTransactValue() + && !_status.isBySolver() ) + return false; + if ( _status.isLicenceConfirmed() != _savedStatus.isLicenceConfirmed() ) + return false; + return true; + } + private: + mutable ResStatus _savedStatus; //@} - public: - /** Offer default Impl. */ - static shared_ptr<Impl> nullimpl() - { - static shared_ptr<Impl> _nullimpl( new Impl ); - return _nullimpl; - } + public: + /** Offer default Impl. */ + static shared_ptr<Impl> nullimpl() + { + static shared_ptr<Impl> _nullimpl( new Impl ); + return _nullimpl; + } }; /////////////////////////////////////////////////////////////////// @@ -176,12 +182,15 @@ ResStatus & PoolItem::status() const { return _pimpl->status(); } - ResObject::constPtr PoolItem::resolvable() const - { return _pimpl->resolvable(); } - ResStatus & PoolItem::statusReset() const { return _pimpl->statusReset(); } + bool PoolItem::isSatisfied() const + { return _pimpl->isSatisfied(); } + + ResObject::constPtr PoolItem::resolvable() const + { return _pimpl->resolvable(); } + void PoolItem::saveState() const { _pimpl->saveState(); } Modified: trunk/libzypp/zypp/PoolItem.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/PoolItem.h?rev=9334&r1=9333&r2=9334&view=diff ============================================================================== --- trunk/libzypp/zypp/PoolItem.h (original) +++ trunk/libzypp/zypp/PoolItem.h Wed Apr 2 10:23:56 2008 @@ -69,25 +69,33 @@ ~PoolItem(); public: - /** Return the \ref ResPool the item belongs to. */ - ResPool pool() const; - - public: /** Returns the current status. */ ResStatus & status() const; /** Reset status. */ ResStatus & statusReset() const; - /** Returns the ResObject::constPtr. - * \see \ref operator-> - */ - ResObject::constPtr resolvable() const; + /** Whether the items requirements are met. */ + bool isSatisfied() const; + + /** Whether the items requirements are broken. */ + bool isBroken() const + { return ! isSatisfied(); } + public: + /** Return the \ref ResPool the item belongs to. */ + ResPool pool() const; + + /** Return the corresponding \ref sat::Solvable. */ sat::Solvable satSolvable() const { return resolvable() ? resolvable()->satSolvable() : sat::Solvable::noSolvable; } public: + /** Returns the ResObject::constPtr. + * \see \ref operator-> + */ + ResObject::constPtr resolvable() const; + /** Implicit conversion into ResObject::constPtr to * support query filters operating on ResObject. */ -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org