add basic locale interface to ResPool, remove deprecated _gxx hashes
[platform/upstream/libzypp.git] / zypp / ResPool.cc
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file       zypp/ResPool.cc
10  *
11 */
12 #include <iostream>
13 //#include "zypp/base/Logger.h"
14
15 #include "zypp/base/SerialNumber.h"
16
17 #include "zypp/ResPool.h"
18 #include "zypp/pool/PoolImpl.h"
19 #include "zypp/pool/PoolStats.h"
20
21 using std::endl;
22
23 ///////////////////////////////////////////////////////////////////
24 namespace zypp
25 { /////////////////////////////////////////////////////////////////
26
27   ///////////////////////////////////////////////////////////////////
28   //
29   //    METHOD NAME : ResPool::instance
30   //    METHOD TYPE : ResPool
31   //
32   ResPool ResPool::instance()
33   {
34     static ResPool _val( pool::PoolTraits::Impl_constPtr( new pool::PoolImpl ) );
35     return _val;
36   }
37
38   ///////////////////////////////////////////////////////////////////
39   //
40   //    METHOD NAME : ResPool::ResPool
41   //    METHOD TYPE : Ctor
42   //
43   ResPool::ResPool( pool::PoolTraits::Impl_constPtr impl_r )
44   : _pimpl( impl_r )
45   {}
46
47   ///////////////////////////////////////////////////////////////////
48   //
49   // Forward to impementation:
50   //
51   ///////////////////////////////////////////////////////////////////
52
53   ResPoolProxy ResPool::proxy() const
54   { return _pimpl->proxy( *this ); }
55
56   const SerialNumber & ResPool::serial() const
57   { return _pimpl->serial(); }
58
59   bool ResPool::empty() const
60   { return _pimpl->empty(); }
61
62   ResPool::size_type ResPool::size() const
63   { return _pimpl->size(); }
64
65
66   PoolItem ResPool::find( const sat::Solvable & slv_r ) const
67   { return _pimpl->find( slv_r ); }
68
69   ResPool::byCapabilityIndex_iterator ResPool::byCapabilityIndexBegin( const std::string & index_r, Dep depType_r ) const
70   { return _pimpl->_caphashfake.begin(); }
71
72   ResPool::byCapabilityIndex_iterator ResPool::byCapabilityIndexEnd( const std::string & index_r, Dep depType_r ) const
73   { return _pimpl->_caphashfake.end(); }
74
75
76   ResPool::size_type ResPool::knownRepositoriesSize() const
77   { return _pimpl->knownRepositories().size(); }
78
79   ResPool::repository_iterator ResPool::knownRepositoriesBegin() const
80   { return _pimpl->knownRepositories().begin(); }
81
82   ResPool::repository_iterator ResPool::knownRepositoriesEnd() const
83   { return _pimpl->knownRepositories().end(); }
84
85
86   void ResPool::setAdditionalRequire( const AdditionalCapabilities & capset ) const
87   { _pimpl->setAdditionalRequire( capset ); }
88   ResPool::AdditionalCapabilities & ResPool::additionalRequire() const
89   { return _pimpl->additionalRequire(); }
90
91   void ResPool::setAdditionalConflict( const AdditionalCapabilities & capset ) const
92   { _pimpl->setAdditionalConflict( capset ); }
93   ResPool::AdditionalCapabilities & ResPool::additionaConflict() const
94   { return _pimpl->additionaConflict(); }
95
96   void ResPool::setAdditionalProvide( const AdditionalCapabilities & capset ) const
97   { _pimpl->setAdditionalProvide( capset ); }
98   ResPool::AdditionalCapabilities & ResPool::additionaProvide() const
99   { return _pimpl->additionaProvide(); }
100
101   const pool::PoolTraits::ItemContainerT & ResPool::store() const
102   { return _pimpl->store(); }
103
104   const pool::PoolTraits::Id2ItemT & ResPool::id2item() const
105   { return _pimpl->id2item(); }
106
107   ///////////////////////////////////////////////////////////////////
108   //
109   // Forward to sat::Pool:
110   //
111   ///////////////////////////////////////////////////////////////////
112   void ResPool::setRequestedLocales( const LocaleSet & locales_r )
113   { sat::Pool::instance().setRequestedLocales( locales_r ); }
114
115   bool ResPool::addRequestedLocale( const Locale & locale_r )
116   { return sat::Pool::instance().addRequestedLocale( locale_r ); }
117
118   bool ResPool::eraseRequestedLocale( const Locale & locale_r )
119   { return sat::Pool::instance().eraseRequestedLocale( locale_r ); }
120
121   const LocaleSet & ResPool::getRequestedLocales() const
122   { return sat::Pool::instance().getRequestedLocales(); }
123
124   bool ResPool::isRequestedLocale( const Locale & locale_r ) const
125   { return sat::Pool::instance().isRequestedLocale( locale_r ); }
126
127   const LocaleSet & ResPool::getAvailableLocales() const
128   { return sat::Pool::instance().getAvailableLocales(); }
129
130   bool ResPool::isAvailableLocale( const Locale & locale_r ) const
131   { return sat::Pool::instance().isAvailableLocale( locale_r ); }
132
133   /******************************************************************
134   **
135   **    FUNCTION NAME : operator<<
136   **    FUNCTION TYPE : std::ostream &
137   */
138   std::ostream & operator<<( std::ostream & str, const ResPool & obj )
139   {
140     return dumpPoolStats( str << "ResPool " << sat::Pool::instance() << endl << "  ",
141                           obj.begin(), obj.end() );
142   }
143
144   /////////////////////////////////////////////////////////////////
145 } // namespace zypp
146 ///////////////////////////////////////////////////////////////////