*
*/
#include <iostream>
-//#include "zypp/base/Logger.h"
+//#include <zypp/base/Logger.h>
-#include "zypp/ResPool.h"
-#include "zypp/pool/PoolImpl.h"
-#include "zypp/base/SerialNumber.h"
+#include <zypp/base/SerialNumber.h>
+
+#include <zypp/ZYppFactory.h>
+#include <zypp/ResPool.h>
+#include <zypp/pool/PoolImpl.h>
+#include <zypp/pool/PoolStats.h>
using std::endl;
namespace zypp
{ /////////////////////////////////////////////////////////////////
- namespace
- {
- /** the empty pool used by ResPool::ResPool() */
- pool::PoolTraits::Impl_constPtr noPool()
- {
- static pool::PoolTraits::Impl_constPtr _noPool( new pool::PoolImpl );
- return _noPool;
- }
- }
+ ///////////////////////////////////////////////////////////////////
+ // class ResPool
+ ///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//
- // METHOD NAME : ResPool::ResPool
- // METHOD TYPE : Ctor
+ // METHOD NAME : ResPool::instance
+ // METHOD TYPE : ResPool
//
- ResPool::ResPool()
- : _pimpl( noPool() )
- {}
+ ResPool ResPool::instance()
+ {
+ static ResPool _val( pool::PoolTraits::Impl_Ptr( new pool::PoolImpl ) );
+ return _val;
+ }
///////////////////////////////////////////////////////////////////
//
// METHOD NAME : ResPool::ResPool
// METHOD TYPE : Ctor
//
- ResPool::ResPool( pool::PoolTraits::Impl_constPtr impl_r )
+ ResPool::ResPool( pool::PoolTraits::Impl_Ptr impl_r )
: _pimpl( impl_r )
{}
///////////////////////////////////////////////////////////////////
//
- // METHOD NAME : ResPool::~ResPool
- // METHOD TYPE : Dtor
- //
- ResPool::~ResPool()
- {}
-
- ///////////////////////////////////////////////////////////////////
- //
// Forward to impementation:
//
///////////////////////////////////////////////////////////////////
- bool ResPool::satSynced() const
- { return _pimpl->satSynced(); }
+ ResPoolProxy ResPool::proxy() const
+ { return _pimpl->proxy( *this ); }
- void ResPool::satSync() const
- { return _pimpl->satSync(); }
+ Resolver & ResPool::resolver() const
+ { return *getZYpp()->resolver(); }
+
+ const SerialNumber & ResPool::serial() const
+ { return _pimpl->serial(); }
bool ResPool::empty() const
{ return _pimpl->empty(); }
ResPool::size_type ResPool::size() const
{ return _pimpl->size(); }
- ResPool::const_iterator ResPool::begin() const
- { return _pimpl->begin(); }
+ PoolItem ResPool::find( const sat::Solvable & slv_r ) const
+ { return _pimpl->find( slv_r ); }
- ResPool::const_iterator ResPool::end() const
- { return _pimpl->end(); }
+ ResPool::EstablishedStates ResPool::establishedStates() const
+ { return _pimpl->establishedStates(); }
- ResPool::byName_iterator ResPool::byNameBegin( const std::string & name_r ) const
- { return _pimpl->_namehash.begin( name_r ); }
+ ResPool::size_type ResPool::knownRepositoriesSize() const
+ { return _pimpl->knownRepositoriesSize(); }
- ResPool::byName_iterator ResPool::byNameEnd( const std::string & name_r ) const
- { return _pimpl->_namehash.end( name_r ); }
+ ResPool::repository_iterator ResPool::knownRepositoriesBegin() const
+ { return _pimpl->knownRepositoriesBegin(); }
- ResPool::byCapabilityIndex_iterator ResPool::byCapabilityIndexBegin( const std::string & index_r, Dep depType_r ) const
- { return _pimpl->_caphash.begin( index_r, depType_r ); }
+ ResPool::repository_iterator ResPool::knownRepositoriesEnd() const
+ { return _pimpl->knownRepositoriesEnd(); }
- ResPool::byCapabilityIndex_iterator ResPool::byCapabilityIndexEnd( const std::string & index_r, Dep depType_r ) const
- { return _pimpl->_caphash.end( index_r, depType_r ); }
+ Repository ResPool::reposFind( const std::string & alias_r ) const
+ { return _pimpl->reposFind( alias_r ); }
- ResPool::size_type ResPool::knownRepositoriesSize() const
- { return _pimpl->knownRepositories().size(); }
+ bool ResPool::hardLockQueriesEmpty() const
+ { return _pimpl->hardLockQueries().empty(); }
- ResPool::repository_iterator ResPool::knownRepositoriesBegin() const
- { return _pimpl->knownRepositories().begin(); }
+ ResPool::size_type ResPool::hardLockQueriesSize() const
+ { return _pimpl->hardLockQueries().size(); }
- ResPool::repository_iterator ResPool::knownRepositoriesEnd() const
- { return _pimpl->knownRepositories().end(); }
+ ResPool::hardLockQueries_iterator ResPool::hardLockQueriesBegin() const
+ { return _pimpl->hardLockQueries().begin(); }
- void ResPool::setAdditionalRequire( const AdditionalCapSet & capset ) const
- { _pimpl->setAdditionalRequire( capset ); }
- ResPool::AdditionalCapSet & ResPool::additionalRequire() const
- { return _pimpl->additionalRequire(); }
+ ResPool::hardLockQueries_iterator ResPool::hardLockQueriesEnd() const
+ { return _pimpl->hardLockQueries().end(); }
- void ResPool::setAdditionalConflict( const AdditionalCapSet & capset ) const
- { _pimpl->setAdditionalConflict( capset ); }
- ResPool::AdditionalCapSet & ResPool::additionaConflict() const
- { return _pimpl->additionaConflict(); }
+ void ResPool::setHardLockQueries( const HardLockQueries & newLocks_r )
+ { _pimpl->setHardLockQueries( newLocks_r ); }
- void ResPool::setAdditionalProvide( const AdditionalCapSet & capset ) const
- { _pimpl->setAdditionalProvide( capset ); }
- ResPool::AdditionalCapSet & ResPool::additionaProvide() const
- { return _pimpl->additionaProvide(); }
+ void ResPool::getHardLockQueries( HardLockQueries & activeLocks_r )
+ { _pimpl->getHardLockQueries( activeLocks_r ); }
- const SerialNumber & ResPool::serial() const
- { return _pimpl->serial(); }
+
+ const pool::PoolTraits::ItemContainerT & ResPool::store() const
+ { return _pimpl->store(); }
+
+ const pool::PoolTraits::Id2ItemT & ResPool::id2item() const
+ { return _pimpl->id2item(); }
+
+ ///////////////////////////////////////////////////////////////////
+ //
+ // Forward to sat::Pool:
+ //
+ ///////////////////////////////////////////////////////////////////
+ void ResPool::setRequestedLocales( const LocaleSet & locales_r )
+ { sat::Pool::instance().setRequestedLocales( locales_r ); }
+
+ bool ResPool::addRequestedLocale( const Locale & locale_r )
+ { return sat::Pool::instance().addRequestedLocale( locale_r ); }
+
+ bool ResPool::eraseRequestedLocale( const Locale & locale_r )
+ { return sat::Pool::instance().eraseRequestedLocale( locale_r ); }
+
+ const LocaleSet & ResPool::getRequestedLocales() const
+ { return sat::Pool::instance().getRequestedLocales(); }
+
+ bool ResPool::isRequestedLocale( const Locale & locale_r ) const
+ { return sat::Pool::instance().isRequestedLocale( locale_r ); }
+
+ const LocaleSet & ResPool::getAvailableLocales() const
+ { return sat::Pool::instance().getAvailableLocales(); }
+
+ bool ResPool::isAvailableLocale( const Locale & locale_r ) const
+ { return sat::Pool::instance().isAvailableLocale( locale_r ); }
/******************************************************************
**
*/
std::ostream & operator<<( std::ostream & str, const ResPool & obj )
{
- return str << *obj._pimpl;
+ return dumpPoolStats( str << "ResPool " << sat::Pool::instance() << endl << " ",
+ obj.begin(), obj.end() );
}
/////////////////////////////////////////////////////////////////