12#ifndef ZYPP_REPOMANAGER_H
13#define ZYPP_REPOMANAGER_H
33#include <zypp-core/ui/ProgressData>
92 static constexpr RefreshServiceBit RefreshService_restoreStatus = RefreshServiceBit::RefreshService_restoreStatus;
93 static constexpr RefreshServiceBit RefreshService_forceRefresh = RefreshServiceBit::RefreshService_forceRefresh;
107 bool repoEmpty()
const;
115 {
return std::list<RepoInfo>(repoBegin(),repoEnd()); }
118 RepoInfo getRepo(
const std::string & alias )
const;
121 {
return getRepo( info_r.
alias() ); }
124 bool hasRepo(
const std::string & alias )
const;
127 {
return hasRepo( info_r.
alias() ); }
132 static std::string makeStupidAlias(
const Url & url_r =
Url() );
244 void refreshMetadata(
const RepoInfo &info,
256 void cleanMetadata(
const RepoInfo &info,
267 void cleanPackages(
const RepoInfo &info,
294 void buildCache(
const RepoInfo &info,
310 void cleanCache(
const RepoInfo &info,
318 bool isCached(
const RepoInfo &info )
const;
330 void loadFromCache(
const RepoInfo &info,
370 void addRepository(
const RepoInfo &info,
385 void addRepositories(
const Url &url,
392 void removeRepository(
const RepoInfo & info,
404 void modifyRepository(
const std::string &alias,
410 { modifyRepository( newinfo.
alias(), newinfo, progressrcv ); }
425 RepoInfo getRepositoryInfo(
const std::string &alias,
464 bool serviceEmpty()
const;
471 ServiceSizeType serviceSize()
const;
478 ServiceConstIterator serviceBegin()
const;
484 ServiceConstIterator serviceEnd()
const;
491 {
return std::list<ServiceInfo>(serviceBegin(),serviceEnd()); }
499 ServiceInfo getService(
const std::string & alias )
const;
502 bool hasService(
const std::string & alias )
const;
518 void addService(
const std::string & alias,
const Url& url );
537 void removeService(
const std::string & alias );
547 void refreshServices(
const RefreshServiceOptions & options_r = RefreshServiceOptions() );
557 void refreshService(
const std::string & alias,
const RefreshServiceOptions & options_r = RefreshServiceOptions() );
559 void refreshService(
const ServiceInfo & service,
const RefreshServiceOptions & options_r = RefreshServiceOptions() );
577 void modifyService(
const std::string & oldAlias,
const ServiceInfo & service );
580 { modifyService( service.
alias(), service ); }
597 {
return info.
service() == alias; }
636 template<
typename OutputIterator>
638 OutputIterator out )
const
642 std::copy( boost::make_filter_iterator( filter, repoBegin(), repoEnd() ),
643 boost::make_filter_iterator( filter, repoEnd(), repoEnd() ),
Iterable< TIterator > makeIterable(TIterator &&begin_r, TIterator &&end_r)
convenient construction.
function< bool(const ProgressData &)> ReceiverFnc
Most simple version of progress reporting The percentage in most cases.
What is known about a repository.
std::string service() const
Gets name of the service to which this repository belongs or empty string if it has been added manual...
creates and provides information about known sources.
RepoInfo getRepo(const RepoInfo &info_r) const
ServiceSet::const_iterator ServiceConstIterator
bool hasRepo(const RepoInfo &info_r) const
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
std::list< ServiceInfo > knownServices() const
List of known services.
ServiceSet::size_type ServiceSizeType
RepoManagerFlags::RefreshServiceFlags RefreshServiceFlags
ServiceConstIterator serviceEnd() const
Iterator to place behind last service in internal storage.
ServiceConstIterator serviceBegin() const
Iterator to first service in internal storage.
void modifyService(const ServiceInfo &service)
Iterable< ServiceConstIterator > services() const
Iterate the known services.
void modifyRepository(const RepoInfo &newinfo, const ProgressData::ReceiverFnc &progressrcv=ProgressData::ReceiverFnc())
RepoSet::size_type RepoSizeType
std::list< RepoInfo > knownRepositories() const
List of known repositories.
RepoConstIterator repoBegin() const
std::set< RepoInfo > RepoSet
RepoInfo typedefs.
Iterable< RepoConstIterator > repos() const
Iterate the known repositories.
RepoManagerFlags::RefreshServiceFlags RefreshServiceOptions
Options tuning RefreshService.
void getRepositoriesInService(const std::string &alias, OutputIterator out) const
fill to output iterator repositories in service name.
RepoConstIterator repoEnd() const
RepoSet::const_iterator RepoConstIterator
std::set< ServiceInfo > ServiceSet
ServiceInfo typedefs.
Track changing files or directories.
std::string alias() const
unique identifier for this source.
String related utilities and Regular expression matching.
RefreshCheckStatus
Possibly return state of RepoManager::checkIfToRefreshMetadata function.
@ RefreshIfNeededIgnoreDelay
RefreshServiceBit
Flags for tuning RefreshService.
Easy-to use interface to the ZYPP dependency resolver.
std::list< RepoInfo > readRepoFile(const Url &repo_file)
Parses repo_file and returns a list of RepoInfo objects corresponding to repositories found within th...
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
RW_pointer supporting 'copy on write' functionality.
RepoManager implementation.
Functor thats filter RepoInfo by service which it belongs to.
MatchServiceAlias(std::string alias_)
bool operator()(const RepoInfo &info) const
Repository type enumeration.
Service type enumeration.
Url::asString() view options.