1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/ResPool.cc
13 //#include "zypp/base/Logger.h"
15 #include "zypp/base/SerialNumber.h"
17 #include "zypp/ResPool.h"
18 #include "zypp/pool/PoolImpl.h"
19 #include "zypp/pool/PoolStats.h"
23 ///////////////////////////////////////////////////////////////////
25 { /////////////////////////////////////////////////////////////////
27 ///////////////////////////////////////////////////////////////////
29 // METHOD NAME : ResPool::instance
30 // METHOD TYPE : ResPool
32 ResPool ResPool::instance()
34 static ResPool _val( pool::PoolTraits::Impl_Ptr( new pool::PoolImpl ) );
38 ///////////////////////////////////////////////////////////////////
40 // METHOD NAME : ResPool::ResPool
43 ResPool::ResPool( pool::PoolTraits::Impl_Ptr impl_r )
47 ///////////////////////////////////////////////////////////////////
49 // Forward to impementation:
51 ///////////////////////////////////////////////////////////////////
53 ResPoolProxy ResPool::proxy() const
54 { return _pimpl->proxy( *this ); }
56 const SerialNumber & ResPool::serial() const
57 { return _pimpl->serial(); }
59 bool ResPool::empty() const
60 { return _pimpl->empty(); }
62 ResPool::size_type ResPool::size() const
63 { return _pimpl->size(); }
66 PoolItem ResPool::find( const sat::Solvable & slv_r ) const
67 { return _pimpl->find( slv_r ); }
70 ResPool::size_type ResPool::knownRepositoriesSize() const
71 { return _pimpl->knownRepositoriesSize(); }
73 ResPool::repository_iterator ResPool::knownRepositoriesBegin() const
74 { return _pimpl->knownRepositoriesBegin(); }
76 ResPool::repository_iterator ResPool::knownRepositoriesEnd() const
77 { return _pimpl->knownRepositoriesEnd(); }
80 bool ResPool::autoSoftLocksEmpty() const
81 { return _pimpl->autoSoftLocks().empty(); }
83 ResPool::size_type ResPool::autoSoftLocksSize() const
84 { return _pimpl->autoSoftLocks().size(); }
86 ResPool::autoSoftLocks_iterator ResPool::autoSoftLocksBegin() const
87 { return _pimpl->autoSoftLocks().begin(); }
89 ResPool::autoSoftLocks_iterator ResPool::autoSoftLocksEnd() const
90 { return _pimpl->autoSoftLocks().end(); }
92 void ResPool::setAutoSoftLocks( const AutoSoftLocks & newLocks_r )
93 { _pimpl->setAutoSoftLocks( newLocks_r ); }
95 void ResPool::getActiveSoftLocks( AutoSoftLocks & activeLocks_r )
96 { _pimpl->getActiveSoftLocks( activeLocks_r ); }
98 const pool::PoolTraits::ItemContainerT & ResPool::store() const
99 { return _pimpl->store(); }
101 const pool::PoolTraits::Id2ItemT & ResPool::id2item() const
102 { return _pimpl->id2item(); }
104 ///////////////////////////////////////////////////////////////////
106 // Forward to sat::Pool:
108 ///////////////////////////////////////////////////////////////////
109 void ResPool::setRequestedLocales( const LocaleSet & locales_r )
110 { sat::Pool::instance().setRequestedLocales( locales_r ); }
112 bool ResPool::addRequestedLocale( const Locale & locale_r )
113 { return sat::Pool::instance().addRequestedLocale( locale_r ); }
115 bool ResPool::eraseRequestedLocale( const Locale & locale_r )
116 { return sat::Pool::instance().eraseRequestedLocale( locale_r ); }
118 const LocaleSet & ResPool::getRequestedLocales() const
119 { return sat::Pool::instance().getRequestedLocales(); }
121 bool ResPool::isRequestedLocale( const Locale & locale_r ) const
122 { return sat::Pool::instance().isRequestedLocale( locale_r ); }
124 const LocaleSet & ResPool::getAvailableLocales() const
125 { return sat::Pool::instance().getAvailableLocales(); }
127 bool ResPool::isAvailableLocale( const Locale & locale_r ) const
128 { return sat::Pool::instance().isAvailableLocale( locale_r ); }
130 /******************************************************************
132 ** FUNCTION NAME : operator<<
133 ** FUNCTION TYPE : std::ostream &
135 std::ostream & operator<<( std::ostream & str, const ResPool & obj )
137 return dumpPoolStats( str << "ResPool " << sat::Pool::instance() << endl << " ",
138 obj.begin(), obj.end() );
141 /////////////////////////////////////////////////////////////////
143 ///////////////////////////////////////////////////////////////////