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() ) {}
89 : repo::RepoInfoBase(alias), _pimpl( new
Impl() )
93 : repo::RepoInfoBase(alias), _pimpl( new
Impl(url) )
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;
std::string asString(const Patch::Category &obj)
std::string name() const
Repository name.
static unsigned defaultPriority()
The default priority (99).
std::string alias() const
unique identifier for this source.
std::set< std::string > ReposToEnable
Container of repos.
ReposToDisable::size_type reposToDisableSize() const
ReposToEnable::const_iterator reposToEnableBegin() const
void clearReposToEnable()
Clear the set of ReposToEnable.
void setTtl(Date::Duration ttl_r)
Set sugested TTL.
Helper filtering the files offered by a RepomdFileReader.
std::string escape(const C_Str &str_r, const char sep_r)
Escape desired character c using a backslash.
ServiceInfo::ReposToDisable ReposToDisable
void addRepoToEnable(const std::string &alias_r)
Add alias_r to the set of ReposToEnable.
const std::string & asString() const
const RepoStates & repoStates() const
Access the remembered repository states.
bool enabled() const
If enabled is false, then this repository must be ignored as if does not exists, except when checking...
ReposToDisable::const_iterator reposToDisableEnd() const
void setType(const repo::ServiceType &type)
Set service type.
base::ValueTransform< Url, repo::RepoVariablesUrlReplacer > RepoVariablesReplacedUrl
Impl * clone() const
clone for RWCOW_pointer
RWCOW_pointer< Impl > _pimpl
ReposToDisable::const_iterator reposToDisableBegin() const
std::map< std::string, RepoState > RepoStates
Store and operate on date (time_t).
void clearReposToDisable()
Clear the set of ReposToDisable.
std::ostream & operator<<(std::ostream &str, const Exception &obj)
Service type enumeration.
void setRepoStates(RepoStates newStates_r)
Remember a new set of repository states.
bool reposToEnableEmpty() const
ReposToEnable _reposToEnable
Date::Duration ttl() const
Sugested TTL between two metadata auto-refreshs.
ServiceInfo()
Default ctor creates noService.
Integral type with defined initial value when default constructed.
void setProbedType(const repo::ServiceType &type_r) const
void delRepoToEnable(const std::string &alias_r)
Remove alias_r from the set of ReposToEnable.
std::string numstring(char n, int w=0)
bool reposToDisableEmpty() const
virtual std::ostream & dumpAsXmlOn(std::ostream &str, const std::string &content="") const
Write an XML representation of this ServiceInfo object.
std::string joinEscaped(TIterator begin, TIterator end, const char sep_r= ' ')
Join strings using separator sep_r, quoting or escaping the values.
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.
Url rawUrl() const
The service raw url (no variables replaced)
ReposToDisable _reposToDisable
bool autorefresh() const
If true, the repostory must be refreshed before creating resolvables from it.
std::string asSeconds() const
Convert to string representation of calendar time in numeric form (like "1029255142").
bool repoToDisableFind(const std::string &alias_r) const
Whether alias_r is mentioned in ReposToDisable.
DefaultIntegral< Date::Duration, 0 > _ttl
void delRepoToDisable(const std::string &alias_r)
Remove alias_r from the set of ReposToDisable.
void addRepoToDisable(const std::string &alias_r)
Add alias_r to the set of ReposToDisable.
void setProbedTtl(Date::Duration ttl_r) const
Lazy init sugested TTL.
bool repoToEnableFind(const std::string &alias_r) const
Whether alias_r is mentioned in ReposToEnable.
ReposToEnable::const_iterator reposToEnableEnd() const
ReposToEnable::size_type reposToEnableSize() const
Url url() const
The service url.
void setProbedType(const repo::ServiceType &t) const
Lazy init service type.
RepoVariablesReplacedUrl _url
Date lrf() const
Date of last refresh (if known).
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
Writes ServiceInfo to stream in ".service" format.
repo::ServiceType type() const
Service type.
detail::EscapedString escape(const std::string &in_r)
Escape xml special charaters (& -> &; from IoBind library).