[zypp-commit] r9806 - in /trunk/libzypp: package/libzypp.changes zypp/ResPool.cc zypp/ResPool.h zypp/pool/PoolImpl.h zypp/pool/PoolTraits.h
Author: mlandres
Date: Wed Apr 23 22:30:38 2008
New Revision: 9806
URL: http://svn.opensuse.org/viewcvs/zypp?rev=9806&view=rev
Log:
- Remove obsolete AdditionalCapabilities interface from ResPool.
Forward sat::Pool::RepositoryIterator. There's no more need to
maintain an extra Repository list in ResPool.
Modified:
trunk/libzypp/package/libzypp.changes
trunk/libzypp/zypp/ResPool.cc
trunk/libzypp/zypp/ResPool.h
trunk/libzypp/zypp/pool/PoolImpl.h
trunk/libzypp/zypp/pool/PoolTraits.h
Modified: trunk/libzypp/package/libzypp.changes
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/package/libzypp.changes?rev=9806&r1=9805&r2=9806&view=diff
==============================================================================
--- trunk/libzypp/package/libzypp.changes (original)
+++ trunk/libzypp/package/libzypp.changes Wed Apr 23 22:30:38 2008
@@ -1,4 +1,12 @@
-------------------------------------------------------------------
+Wed Apr 23 22:24:00 CEST 2008 - ma@suse.de
+
+- Remove obsolete AdditionalCapabilities interface from ResPool.
+ Forward sat::Pool::RepositoryIterator. There's no more need to
+ maintain an extra Repository list in ResPool.
+- revision 9806
+
+-------------------------------------------------------------------
Wed Apr 23 21:12:56 CEST 2008 - ma@suse.de
- Support dependencies requiring a specific architecture:
Modified: trunk/libzypp/zypp/ResPool.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/ResPool.cc?rev=9806&r1=9805&r2=9806&view=diff
==============================================================================
--- trunk/libzypp/zypp/ResPool.cc (original)
+++ trunk/libzypp/zypp/ResPool.cc Wed Apr 23 22:30:38 2008
@@ -67,29 +67,13 @@
{ return _pimpl->find( slv_r ); }
ResPool::size_type ResPool::knownRepositoriesSize() const
- { return _pimpl->knownRepositories().size(); }
+ { return _pimpl->knownRepositoriesSize(); }
ResPool::repository_iterator ResPool::knownRepositoriesBegin() const
- { return _pimpl->knownRepositories().begin(); }
+ { return _pimpl->knownRepositoriesBegin(); }
ResPool::repository_iterator ResPool::knownRepositoriesEnd() const
- { return _pimpl->knownRepositories().end(); }
-
-
- void ResPool::setAdditionalRequire( const AdditionalCapabilities & capset ) const
- { _pimpl->setAdditionalRequire( capset ); }
- ResPool::AdditionalCapabilities & ResPool::additionalRequire() const
- { return _pimpl->additionalRequire(); }
-
- void ResPool::setAdditionalConflict( const AdditionalCapabilities & capset ) const
- { _pimpl->setAdditionalConflict( capset ); }
- ResPool::AdditionalCapabilities & ResPool::additionaConflict() const
- { return _pimpl->additionaConflict(); }
-
- void ResPool::setAdditionalProvide( const AdditionalCapabilities & capset ) const
- { _pimpl->setAdditionalProvide( capset ); }
- ResPool::AdditionalCapabilities & ResPool::additionaProvide() const
- { return _pimpl->additionaProvide(); }
+ { return _pimpl->knownRepositoriesEnd(); }
const pool::PoolTraits::ItemContainerT & ResPool::store() const
{ return _pimpl->store(); }
Modified: trunk/libzypp/zypp/ResPool.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/ResPool.h?rev=9806&r1=9805&r2=9806&view=diff
==============================================================================
--- trunk/libzypp/zypp/ResPool.h (original)
+++ trunk/libzypp/zypp/ResPool.h Wed Apr 23 22:30:38 2008
@@ -53,8 +53,6 @@
typedef PoolItem value_type;
typedef pool::PoolTraits::size_type size_type;
typedef pool::PoolTraits::const_iterator const_iterator;
-
- typedef pool::PoolTraits::AdditionalCapabilities AdditionalCapabilities;
typedef pool::PoolTraits::repository_iterator repository_iterator;
public:
@@ -301,69 +299,6 @@
bool isAvailableLocale( const Locale & locale_r ) const;
//@}
- public:
- /** \name Handling addition capabilities in the pool in order for solving it in
- * a solver run. This is used for tasks like needing a package with the name "foo".
- * The solver has to evaluate a proper package by his own.
- *
- * CAUTION: This has another semantic in the solver. The required resolvable has
- * been set for installation (in the pool) only AFTER a solver run.
- */
-
- /**
- * Handling additional requirement. E.G. need package "foo" and package
- * "foo1" which has a greater version than 1.0:
- *
- * \code
- * Capabilities capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo1 > 1.0"));
- *
- * // The user is setting this capablility
- * ResPool::AdditionalCapabilities aCapabilities;
- * aCapabilities[ResStatus::USER] = capset;
- *
- * setAdditionalRequire( aCapabilities );
- * \endcode
- */
- void setAdditionalRequire( const AdditionalCapabilities & capset ) const;
- AdditionalCapabilities & additionalRequire() const;
-
- /**
- * Handling additional conflicts. E.G. do not install anything which provides "foo":
- *
- * \code75
- * Capabilities capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- *
- * // The user is setting this capablility
- * ResPool::AdditionalCapabilities aCapabilities;
- * aCapabilities[ResStatus::USER] = capset;
- *
- * setAdditionalConflict( aCapabilities );
- * \endcode
- */
- void setAdditionalConflict( const AdditionalCapabilities & capset ) const;
- AdditionalCapabilities & additionaConflict() const;
-
- /**
- * Handling additional provides. This is used for ignoring a requirement.
- * e.G. Do ignore the requirement "foo":
- *
- * \code
- * Capabilities capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- *
- * // The user is setting this capablility
- * ResPool::AdditionalCapabilities aCapabilities;
- * aCapabilities[ResStatus::USER] = capset;
- *
- * setAdditionalProvide( aCapabilities );
- * \endcode
- */
- void setAdditionalProvide( const AdditionalCapabilities & capset ) const;
- AdditionalCapabilities & additionaProvide() const;
-
private:
const pool::PoolTraits::ItemContainerT & store() const;
const pool::PoolTraits::Id2ItemT & id2item() const;
Modified: trunk/libzypp/zypp/pool/PoolImpl.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/pool/PoolImpl.h?rev=9806&r1=9805&r2=9806&view=diff
==============================================================================
--- trunk/libzypp/zypp/pool/PoolImpl.h (original)
+++ trunk/libzypp/zypp/pool/PoolImpl.h Wed Apr 23 22:30:38 2008
@@ -49,10 +49,9 @@
typedef PoolTraits::const_iterator const_iterator;
typedef PoolTraits::Id2ItemT Id2ItemT;
- typedef sat::detail::SolvableIdType SolvableIdType;
+ typedef PoolTraits::repository_iterator repository_iterator;
- typedef PoolTraits::AdditionalCapabilities AdditionalCapabilities;
- typedef PoolTraits::RepoContainerT KnownRepositories;
+ typedef sat::detail::SolvableIdType SolvableIdType;
public:
/** Default ctor */
@@ -114,79 +113,26 @@
//
///////////////////////////////////////////////////////////////////
public:
- /**
- * Handling additional requirement. E.G. need package "foo" and package
- * "foo1" which has a greater version than 1.0:
- *
- * Capset capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo1 > 1.0"));
- *
- * setAdditionalRequire( capset );
- */
- void setAdditionalRequire( const AdditionalCapabilities & capset ) const
- { _additionalRequire = capset; }
- AdditionalCapabilities & additionalRequire() const
- { return _additionalRequire; }
-
- /**
- * Handling additional conflicts. E.G. do not install anything which provides "foo":
- *
- * Capset capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- *
- * setAdditionalConflict( capset );
- */
- void setAdditionalConflict( const AdditionalCapabilities & capset ) const
- { _additionaConflict = capset; }
- AdditionalCapabilities & additionaConflict() const
- { return _additionaConflict; }
-
- /**
- * Handling additional provides. This is used for ignoring a requirement.
- * e.G. Do ignore the requirement "foo":
- *
- * Capset capset;
- * capset.insert (CapFactory().parse( ResTraits<Package>::kind, "foo"));
- *
- * setAdditionalProvide( cap );
- */
- void setAdditionalProvide( const AdditionalCapabilities & capset ) const
- { _additionaProvide = capset; }
- AdditionalCapabilities & additionaProvide() const
- { return _additionaProvide; }
-
- ///////////////////////////////////////////////////////////////////
- //
- ///////////////////////////////////////////////////////////////////
- public:
ResPoolProxy proxy( ResPool self ) const
{
checkSerial();
if ( !_poolProxy )
+ {
_poolProxy.reset( new ResPoolProxy( self, *this ) );
+ }
return *_poolProxy;
}
public:
- /** Access list of Repositories that contribute ResObjects.
- * Built on demand.
- */
- const KnownRepositories & knownRepositories() const
- {
- checkSerial();
- if ( ! _knownRepositoriesPtr )
- {
- _knownRepositoriesPtr.reset( new KnownRepositories );
+ /** Forward list of Repositories that contribute ResObjects from \ref sat::Pool */
+ size_type knownRepositoriesSize() const
+ { checkSerial(); return satpool().reposSize(); }
- sat::Pool pool( satpool() );
- for_( it, pool.reposBegin(), pool.reposEnd() )
- {
- _knownRepositoriesPtr->push_back( *it );
- }
- }
- return *_knownRepositoriesPtr;
- }
+ repository_iterator knownRepositoriesBegin() const
+ { checkSerial(); return satpool().reposBegin(); }
+
+ repository_iterator knownRepositoriesEnd() const
+ { checkSerial(); return satpool().reposEnd(); }
///////////////////////////////////////////////////////////////////
//
@@ -211,9 +157,15 @@
sat::Solvable s( i );
PoolItem & pi( _store[i] );
if ( ! s && pi )
+ {
+ // the PoolItem got invalidated (e.g unloaded repo)
pi = PoolItem();
+ }
else if ( s && ! pi )
+ {
+ // new PoolItem to add
pi = PoolItem::makePoolItem( s ); // the only way to create a new one!
+ }
}
}
_storeDirty = false;
@@ -260,7 +212,6 @@
_id2itemDirty = true;
_id2item.clear();
_poolProxy.reset();
- _knownRepositoriesPtr.reset();
}
private:
@@ -272,12 +223,7 @@
mutable DefaultIntegral
participants (1)
-
mlandres@svn.opensuse.org