15 #include <solv/poolarch.h> 16 #include <solv/repo.h> 52 std::set<detail::IdType> sysids;
56 for (
auto it = sysarchs.begin(); it != sysarchs.end(); ++it )
57 sysids.insert( it->id() );
60 sysids.insert( ARCH_SRC );
61 sysids.insert( ARCH_NOSRC );
65 unsigned blockSize = 0;
69 if ( s->repo == repo_r && sysids.find( s->arch ) == sysids.end() )
79 ::repo_free_solvable_block( repo_r, blockBegin, blockSize,
false );
80 blockBegin = blockSize = 0;
85 ::repo_free_solvable_block( repo_r, blockBegin, blockSize,
false );
Simple serial number watcher.
bool remember(unsigned serial_r) const
Return isDirty, storing serial_r as new value.
void onReset(Pool &pool) override
zypp::sat::detail::CSolvable CSolvable
ArchitectureProvider _provider
std::function< zypp::Arch()> ArchitectureProvider
Provider function returning an Arch.
bool isSystemRepo(detail::CRepo *repo_r) const
SerialNumberWatcher _watcher
Orchestrator for a libsolv pool instance.
Structural or data change (e.g., Rootfs, Arch, or Repo content).
detail::CPool * get() const
Expert backdoor.
This file contains private API, this might break at any time between releases.
void attach(Pool &pool) override
std::set< Arch, CompareByGT< Arch > > CompatSet
Reversed arch order, best Arch first.
void onRepoAdded(Pool &pool, detail::RepoIdType id) override
void setDirty(PoolInvalidation invalidation, std::initializer_list< std::string_view > reasons)
Invalidate everything.
zypp::sat::detail::IdType IdType
static CompatSet compatSet(const Arch &targetArch_r)
Return a set of all Arch's compatibleWith a targetArch_r.
zypp::sat::detail::CRepo CRepo
zypp::Arch arch() const
Get the current architecture.
const std::string & asString() const
const SerialNumber & serial() const
Serial number changing whenever the content changes.
void prepare(Pool &pool) override
zypp::sat::detail::RepoIdType RepoIdType
void setProvider(ArchitectureProvider provider)
Set a custom architecture provider.