12 #ifndef ZYPP_RESPOOL_H 13 #define ZYPP_RESPOOL_H 18 #include <zypp/APIConfig.h> 114 {
return( resolvable_r ? find( resolvable_r->satSolvable() ) :
PoolItem() ); }
119 template<
class TFilter>
120 filter_iterator<TFilter,const_iterator>
filterBegin(
const TFilter & filter_r )
const 123 template<
class TFilter>
124 filter_iterator<TFilter,const_iterator>
filterEnd(
const TFilter & filter_r )
const 127 template<
class TFilter>
129 {
return makeIterable( filterBegin( filter_r ), filterEnd( filter_r ) ); }
158 {
return makeIterable( byStatusBegin( filter_r ), byStatusEnd( filter_r ) ); }
169 return make_transform_iterator( id2item().equal_range( ident_r.
get() ).first,
174 {
return byIdentBegin(
ByIdent(std::move(kind_r),name_r) ); }
177 {
return byIdentBegin(
ByIdent(std::move(kind_r),name_r) ); }
192 {
return byIdentBegin(
ByIdent(slv_r) ); }
195 {
return byIdentBegin(
ByIdent(ident_r) ); }
200 return make_transform_iterator( id2item().equal_range( ident_r.
get() ).second,
205 {
return byIdentEnd(
ByIdent(std::move(kind_r),name_r) ); }
208 {
return byIdentEnd(
ByIdent(std::move(kind_r),name_r) ); }
223 {
return byIdentEnd(
ByIdent(slv_r) ); }
226 {
return byIdentEnd(
ByIdent(ident_r) ); }
230 {
return makeIterable( byIdentBegin( ident_r ), byIdentEnd( ident_r ) ); }
233 {
return makeIterable( byIdentBegin( kind_r, name_r ), byIdentEnd( kind_r, name_r ) ); }
236 {
return makeIterable( byIdentBegin( kind_r, name_r ), byIdentEnd( kind_r, name_r ) ); }
240 {
return makeIterable( byIdentBegin<TRes>( name_r ), byIdentEnd<TRes>( name_r ) ); }
244 {
return makeIterable( byIdentBegin<TRes>( name_r ), byIdentEnd<TRes>( name_r ) ); }
247 {
return makeIterable( byIdentBegin( pi_r ), byIdentEnd( pi_r ) ); }
250 {
return makeIterable( byIdentBegin( slv_r ), byIdentEnd( slv_r ) ); }
253 {
return makeIterable( byIdentBegin( ident_r ), byIdentEnd( ident_r ) ); }
277 {
return makeIterable( byKindBegin( kind_r ), byKindEnd( kind_r ) ); }
281 {
return makeIterable( byKindBegin<TRes>(), byKindEnd<TRes>() ); }
297 {
return makeIterable( byNameBegin( name_r ), byNameEnd( name_r ) ); }
303 class EstablishedStates
317 ~EstablishedStates();
329 : _pimpl { std::move(pimpl_r) }
339 EstablishedStates establishedStates()
const;
351 {
return establishedStates().changedPseudoInstalled(); }
359 repository_iterator knownRepositoriesBegin()
const;
361 repository_iterator knownRepositoriesEnd()
const;
366 Repository reposFind(
const std::string & alias_r )
const;
369 {
return makeIterable( knownRepositoriesBegin(), knownRepositoriesEnd() ); }
401 void setRequestedLocales(
const LocaleSet & locales_r );
406 bool addRequestedLocale(
const Locale & locale_r );
411 bool eraseRequestedLocale(
const Locale & locale_r );
416 const LocaleSet & getRequestedLocales()
const;
419 bool isRequestedLocale(
const Locale & locale_r )
const;
425 const LocaleSet & getAvailableLocales()
const;
428 bool isAvailableLocale(
const Locale & locale_r )
const;
442 bool hardLockQueriesEmpty()
const;
448 {
return makeIterable( hardLockQueriesBegin(), hardLockQueriesEnd() ); }
454 void setHardLockQueries(
const HardLockQueries & newLocks_r );
459 void getHardLockQueries( HardLockQueries & activeLocks_r );
483 #endif // ZYPP_RESPOOL_H sat::detail::IdType get() const
byIdent_iterator byIdentBegin(ResKind kind_r, IdString name_r) const
Iterable< repository_iterator > knownRepositories() const
A Solvable object within the sat Pool.
filter_iterator< ByPoolItem, ItemContainerT::const_iterator > const_iterator
byKind_iterator byKindEnd() const
Iterable< byIdent_iterator > byIdent(const ByIdent &ident_r) const
Iterable< byIdent_iterator > byIdent(sat::Solvable slv_r) const
const_iterator end() const
byIdent_iterator byIdentEnd(ResKind kind_r, const C_Str &name_r) const
Filter solvables according to their status.
transform_iterator< Id2ItemValueSelector, Id2ItemT::const_iterator > byIdent_iterator
byIdent_iterator byIdentBegin(IdString name_r) const
pool::PoolTraits::hardLockQueries_iterator hardLockQueries_iterator
filter_iterator< filter::ByStatus, const_iterator > byStatusEnd(const filter::ByStatus &filter_r) const
Iterable< byIdent_iterator > byIdent(const ResKind &kind_r, IdString name_r) const
std::unordered_set< Locale > LocaleSet
Iterable< filter_iterator< filter::ByStatus, const_iterator > > byStatus(const filter::ByStatus &filter_r) const
pool::PoolTraits::const_iterator const_iterator
byKind_iterator byKindBegin(const ResKind &kind_r) const
sat::Pool::RepositoryIterator repository_iterator
list of known Repositories
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Access to the sat-pools string space.
std::vector< PoolItem > ItemContainerT
pure items
Iterable< filter_iterator< TFilter, const_iterator > > filter(const TFilter &filter_r) const
HardLockQueries::const_iterator hardLockQueries_iterator
byKind_iterator byKindBegin() const
RW_pointer< Impl > _pimpl
byIdent_iterator byIdentEnd(const C_Str &name_r) const
Iterable< byIdent_iterator > byIdent(const ResKind &kind_r, const C_Str &name_r) const
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_end(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::end().
Select ResObject by name.
ResPool::instance().proxy();.
const_iterator begin() const
ChangedPseudoInstalled changedPseudoInstalled() const
Return all pseudo installed items whose current state differs from their initial one.
Iterable< byKind_iterator > byKind() const
byIdent_iterator byIdentEnd(IdString ident_r) const
Takes a sat::Solvable::ident string.
byIdent_iterator byIdentEnd(IdString name_r) const
Dependency resolver interface.
Iterable< byIdent_iterator > byIdent(IdString ident_r) const
filter_iterator< TFilter, const_iterator > filterBegin(const TFilter &filter_r) const
Iterable< byIdent_iterator > byIdent(const C_Str &name_r) const
byIdent_iterator byIdentBegin(sat::Solvable slv_r) const
Derive name and kind from sat::Solvable.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Convenience char* constructible from std::string and char*, it maps (char*)0 to an empty string...
std::unordered_multimap< sat::detail::IdType, PoolItem > Id2ItemT
ident index
byIdent_iterator byIdentBegin(const C_Str &name_r) const
TraitsType::constPtrType constPtr
byName_iterator byNameBegin(const std::string &name_r) const
Iterable< hardLockQueries_iterator > hardLockQueries() const
Iterable< byIdent_iterator > byIdent(const PoolItem &pi_r) const
std::map< PoolItem, ResStatus::ValidateValue > ChangedPseudoInstalled
Map holding pseudo installed items where current and established status differ.
Simple serial number provider.
Iterable< byIdent_iterator > byIdent(IdString name_r) const
'Language[_Country]' codes.
byKind_iterator byKindEnd(const ResKind &kind_r) const
byIdent_iterator byIdentBegin(const PoolItem &pi_r) const
Derive name and kind from PoolItem.
PoolItem find(const ResObject::constPtr &resolvable_r) const
byIdent_iterator byIdentBegin(IdString ident_r) const
Takes a sat::Solvable::ident string.
EstablishedStates::ChangedPseudoInstalled ChangedPseudoInstalled
Map holding pseudo installed items where current and established status differ.
Iterable< byName_iterator > byName(const std::string &name_r) const
ItemContainerT::size_type size_type
std::list< PoolQuery > HardLockQueries
hard locks from etc/zypp/locks
Store initial establish status of pseudo installed items.
Iterable< byKind_iterator > byKind(const ResKind &kind_r) const
filter_iterator< ByKind, const_iterator > byKind_iterator
byIdent_iterator byIdentEnd(const PoolItem &pi_r) const
Derive name and kind from PoolItem.
pool::PoolTraits::size_type size_type
filter_iterator< filter::ByStatus, const_iterator > byStatusBegin(const filter::ByStatus &filter_r) const
byName_iterator byNameEnd(const std::string &name_r) const
filter_iterator< TFilter, const_iterator > filterEnd(const TFilter &filter_r) const
Combining sat::Solvable and ResStatus.
filter_iterator< TFilter, typename TContainer::const_iterator > make_filter_begin(TFilter f, const TContainer &c)
Convenience to create filter_iterator from container::begin().
byIdent_iterator byIdentEnd(const ByIdent &ident_r) const
pool::PoolTraits::byIdent_iterator byIdent_iterator
EstablishedStates(shared_ptr< Impl > pimpl_r)
Factory: ResPool::establishedStates.
Pool internal filter skiping invalid/unwanted PoolItems.
RW_pointer< pool::PoolTraits::Impl > _pimpl
Access to implementation.
Easy-to use interface to the ZYPP dependency resolver.
shared_ptr< PoolImpl > Impl_Ptr
Solvable satSolvable() const
Return the corresponding sat::Solvable.
pool::PoolTraits::HardLockQueries HardLockQueries
byIdent_iterator byIdentEnd(sat::Solvable slv_r) const
Derive name and kind from sat::Solvable.
filter_iterator< ByName, const_iterator > byName_iterator
byIdent_iterator byIdentBegin(const ByIdent &ident_r) const
Main filter selecting PoolItems by name and kind.
byIdent_iterator byIdentEnd(ResKind kind_r, IdString name_r) const
Filter solvables according to their kind.
byIdent_iterator byIdentBegin(ResKind kind_r, const C_Str &name_r) const