12 #ifndef ZYPP_SAT_DETAIL_POOLIMPL_H
13 #define ZYPP_SAT_DETAIL_POOLIMPL_H
16 #include <solv/pool.h>
17 #include <solv/repo.h>
18 #include <solv/solvable.h>
19 #include <solv/poolarch.h>
20 #include <solv/repo_solv.h>
77 void setDirty(
const char * a1 = 0,
const char * a2 = 0,
const char * a3 = 0 );
81 void depSetDirty(
const char * a1 = 0,
const char * a2 = 0,
const char * a3 = 0 );
91 {
return repo_r &&
_pool->installed == repo_r; }
94 {
return _pool->installed; }
103 ::_Repo *
_createRepo(
const std::string & name_r );
112 int _addSolv( ::_Repo * repo_r, FILE * file_r );
118 int _addHelix( ::_Repo * repo_r, FILE * file_r );
130 {
return slv_r.repo; }
152 return &
_pool->solvables[id_r];
170 for( ++id_r; id_r < unsigned(
_pool->nsolvables); ++id_r )
193 {
return _pool->whatprovidesdata[offset_r]; }
223 LocaleSet::const_iterator it( avl.find( locale_r ) );
224 return it != avl.end();
243 return l.find( ident_r ) != l.end();
262 return l.find( ident_r ) != l.end();
307 #define POOL_SETDIRTY
308 #endif // ZYPP_SAT_DETAIL_POOLIMPL_H
static const SolvableIdType noSolvableId(0)
Id to denote Solvable::noSolvable.
Simple serial number watcher.
bool isSystemRepo(::_Repo *repo_r) const
int IdType
Generic Id type.
const sat::detail::IdType whatProvidesData(unsigned offset_r)
Returns the id stored at offset_r in the internal whatprovidesdata array.
bool eraseRequestedLocale(const Locale &locale_r)
scoped_ptr< LocaleSet > _availableLocalesPtr
::_Repo * _createRepo(const std::string &name_r)
Creating a new repo named name_r.
bool validSolvable(const ::_Solvable &slv_r) const
a valid Solvable has a non NULL repo pointer.
::_Pool * getPool() const
bool addRequestedLocale(const Locale &locale_r)
void setDirty(const char *a1=0, const char *a2=0, const char *a3=0)
Invalidate housekeeping data (e.g.
unsigned whatProvides(Capability cap_r)
Returns offset into the internal whatprovidesdata array.
void prepareForSolving() const
prepare plus some expensive checks done before solving only.
::_Repo * RepoIdType
Id type to connect Repo and sat-repo.
unsigned SolvableIdType
Id type to connect Solvable and sat-solvable.
void eraseRepoInfo(RepoIdType id_r)
What is known about a repository.
const std::set< std::string > & requiredFilesystems() const
accessor for etc/sysconfig/storage reading file on demand
bool isAvailableLocale(const Locale &locale_r) const
Access to the sat-pools string space.
bool validSolvable(SolvableIdType id_r) const
void _deleteRepo(::_Repo *repo_r)
Creating a new repo named name_r.
const LocaleSet & getRequestedLocales() const
const SerialNumber & serial() const
Serial number changing whenever the content changes.
::_Pool * operator->()
Pointer style access forwarded to sat-pool.
void multiversionListInit() const
const LocaleSet & getAvailableLocales() const
int _addSolv(::_Repo *repo_r, FILE *file_r)
Adding solv file to a repo.
detail::SolvableIdType _addSolvables(::_Repo *repo_r, unsigned count_r)
Adding Solvables to a repo.
SolvableIdType getNextId(SolvableIdType id_r) const
Get id of the next valid Solvable.
boost::noncopyable NonCopyable
Ensure derived classes cannot be copied.
bool isMultiversion(IdString ident_r) const
void setRepoInfo(RepoIdType id_r, const RepoInfo &info_r)
Also adjust repo priority and subpriority accordingly.
SerialNumberWatcher _watcher
Watch serial number.
void setRequestedLocales(const LocaleSet &locales_r)
bool isOnSystemByUser(IdString ident_r) const
::_Repo * systemRepo() const
std::tr1::unordered_set< IdString > _locale2Solver
int _addHelix(::_Repo *repo_r, FILE *file_r)
Adding helix file to a repo.
std::tr1::unordered_set< Locale > LocaleSet
bool validSolvable(const ::_Solvable *slv_r) const
Simple serial number provider.
const OnSystemByUserList & onSystemByUserList() const
SerialNumber _serial
Serial number.
scoped_ptr< MultiversionList > _multiversionListPtr
::_Repo * getRepo(RepoIdType id_r) const
void depSetDirty(const char *a1=0, const char *a2=0, const char *a3=0)
Invalidate housekeeping data (e.g.
SolvableIdType getFirstId() const
Get id of the first valid Solvable.
scoped_ptr< std::set< std::string > > _requiredFilesystemsPtr
filesystems mentioned in /etc/sysconfig/storage
void setTextLocale(const Locale &locale_r)
std::map< RepoIdType, RepoInfo > _repoinfos
Additional RepoInfo.
void prepare() const
Update housekeeping data (e.g.
static const std::string & systemRepoAlias()
Reserved system repository alias .
::_Solvable * getSolvable(SolvableIdType id_r) const
Return pointer to the sat-solvable or NULL if it is not valid.
IdStringSet MultiversionList
scoped_ptr< OnSystemByUserList > _onSystemByUserListPtr
bool isRequestedLocale(const Locale &locale_r) const
const RepoInfo & repoInfo(RepoIdType id_r)
const MultiversionList & multiversionList() const
void onSystemByUserListInit() const
IdStringSet OnSystemByUserList
std::tr1::unordered_set< IdString > IdStringSet
void _postRepoAdd(::_Repo *repo_r)
Helper postprocessing the repo after adding solv or helix files.
LocaleSet _requestedLocales
sat::detail::IdType id() const
Expert backdoor.
static detail::IdType nsCallback(::_Pool *, void *data, detail::IdType lhs, detail::IdType rhs)
Callback to resolve namespace dependencies (language, modalias, filesystem, etc.).