60 if ( _type == repo::ServiceType::NONE
61 && type_r != repo::ServiceType::NONE )
64 const_cast<Impl*
>(
this)->_type = type_r;
69 friend Impl * rwcowClone<Impl>(
const Impl * rhs );
73 {
return new Impl( *
this ); }
86 ServiceInfo::ServiceInfo() : _pimpl( new
Impl() ) {}
168 <<
"enabled=" << obj.
enabled <<
" " 175 RepoInfoBase::dumpAsIniOn(str)
176 <<
"url = " <<
rawUrl() << endl
177 <<
"type = " <<
type() << endl;
180 str <<
"ttl_sec = " <<
ttl() << endl;
190 std::string tag(
"repo_" );
194 str << tag <<
"=" << el.first << endl
195 << tag <<
"_enabled=" << state.
enabled << endl
196 << tag <<
"_autorefresh=" << state.
autorefresh << endl;
199 << tag <<
"_priority=" << state.
priority << endl;
216 <<
" enabled=\"" <<
enabled() <<
"\"" 220 <<
" ttl_sec=\"" <<
ttl() <<
"\"";
225 str <<
">" << endl << content <<
"</service>" << endl;
void setProbedTtl(Date::Duration ttl_r) const
Lazy init sugested TTL.
static unsigned defaultPriority()
The default priority (99).
std::set< std::string > ReposToEnable
Container of repos.
void clearReposToEnable()
Clear the set of ReposToEnable.
std::string asString(const DefaultIntegral< Tp, TInitial > &obj)
void setTtl(Date::Duration ttl_r)
Set sugested TTL.
Date lrf() const
Date of last refresh (if known).
ReposToDisable::size_type reposToDisableSize() const
Url rawUrl() const
The service raw url (no variables replaced)
virtual std::ostream & dumpAsXmlOn(std::ostream &str, const std::string &content="") const
Write an XML representation of this ServiceInfo object.
void setProbedType(const repo::ServiceType &type_r) const
String related utilities and Regular expression matching.
ServiceInfo::ReposToDisable ReposToDisable
void addRepoToEnable(const std::string &alias_r)
Add alias_r to the set of ReposToEnable.
bool enabled() const
If enabled is false, then this repository must be ignored as if does not exists, except when checking...
void setProbedType(const repo::ServiceType &t) const
Lazy init service type.
std::string asSeconds() const
Convert to string representation of calendar time in numeric form (like "1029255142").
void setType(const repo::ServiceType &type)
Set service type.
base::ValueTransform< Url, repo::RepoVariablesUrlReplacer > RepoVariablesReplacedUrl
RWCOW_pointer< Impl > _pimpl
std::string joinEscaped(TIterator begin, TIterator end, const char sep_r=' ')
Join strings using separator sep_r, quoting or escaping the values.
std::map< std::string, RepoState > RepoStates
bool repoToEnableFind(const std::string &alias_r) const
Whether alias_r is mentioned in ReposToEnable.
Store and operate on date (time_t).
std::string escape(const C_Str &str_r, const char sep_r)
Escape desired character c using a backslash.
void clearReposToDisable()
Clear the set of ReposToDisable.
std::ostream & operator<<(std::ostream &str, const ServiceInfo &obj)
const std::string & asString() const
bool reposToEnableEmpty() const
std::string alias() const
unique identifier for this source.
Service type enumeration.
void setRepoStates(RepoStates newStates_r)
Remember a new set of repository states.
ReposToEnable::size_type reposToEnableSize() const
bool reposToDisableEmpty() const
ReposToDisable::const_iterator reposToDisableEnd() const
ReposToEnable _reposToEnable
ServiceInfo()
Default ctor creates noService.
void delRepoToEnable(const std::string &alias_r)
Remove alias_r from the set of ReposToEnable.
std::string numstring(char n, int w=0)
ReposToEnable::const_iterator reposToEnableEnd() const
Date::Duration ttl() const
Sugested TTL between two metadata auto-refreshs.
Url url() const
The service url.
void setUrl(const Url &url)
Set the service url (raw value)
ServiceInfo::ReposToEnable ReposToEnable
void setLrf(Date lrf_r)
Set date of last refresh.
std::set< std::string > ReposToDisable
Container of repos.
ReposToDisable::const_iterator reposToDisableBegin() const
ReposToDisable _reposToDisable
const RepoStates & repoStates() const
Access the remembered repository states.
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
Writes ServiceInfo to stream in ".service" format.
bool repoToDisableFind(const std::string &alias_r) const
Whether alias_r is mentioned in ReposToDisable.
std::string name() const
Repository name.
Impl * clone() const
clone for RWCOW_pointer
DefaultIntegral< Date::Duration, 0 > _ttl
void delRepoToDisable(const std::string &alias_r)
Remove alias_r from the set of ReposToDisable.
ReposToEnable::const_iterator reposToEnableBegin() const
void addRepoToDisable(const std::string &alias_r)
Add alias_r to the set of ReposToDisable.
Base class implementing common features of RepoInfo and ServiceInfo.
bool autorefresh() const
If true, the repostory must be refreshed before creating resolvables from it.
Easy-to use interface to the ZYPP dependency resolver.
RepoVariablesReplacedUrl _url
repo::ServiceType type() const
Service type.
detail::EscapedString escape(const std::string &in_r)
Escape xml special charaters (& -> &; from IoBind library).