Imported Upstream version 16.3.2
[platform/upstream/libzypp.git] / zypp / ServiceInfo.h
index 991f3a6..e5b27cb 100644 (file)
 
 #include "zypp/Url.h"
 
+#include "zypp/base/Iterable.h"
 #include "zypp/repo/ServiceType.h"
 #include "zypp/RepoInfo.h"
-
+#include "zypp/Date.h"
 
 ///////////////////////////////////////////////////////////////////
 namespace zypp
@@ -80,7 +81,29 @@ namespace zypp
     /** Lazy init service type */
     void setProbedType( const repo::ServiceType & t ) const;
 
+    /** \name Housekeeping data
+     * You don't want to use the setters unless you are a \ref RepoManager.
+     */
+    //@{
+    /** Sugested TTL between two metadata auto-refreshs.
+     * The value (in seconds) may be provided in repoindex.xml:xpath:/repoindex@ttl.
+     * Default is \a 0 - perform each auto-refresh request.
+     */
+    Date::Duration ttl() const;
+
+    /** Set sugested TTL. */
+    void setTtl( Date::Duration ttl_r );
+
+    /** Lazy init sugested TTL. */
+    void setProbedTtl( Date::Duration ttl_r ) const;
 
+    /** Date of last refresh (if known). */
+    Date lrf() const;
+
+    /** Set date of last refresh. */
+    void setLrf( Date lrf_r );
+    //@}
+    //
     /** \name Set of repos (repository aliases) to enable on next refresh.
      *
      * Per default new repositories are created in disabled state. But repositories
@@ -94,6 +117,8 @@ namespace zypp
     ReposToEnable::size_type      reposToEnableSize() const;
     ReposToEnable::const_iterator reposToEnableBegin() const;
     ReposToEnable::const_iterator reposToEnableEnd() const;
+    Iterable<ReposToEnable::const_iterator> reposToEnable() const
+    { return makeIterable( reposToEnableBegin(), reposToEnableEnd() ); }
 
     /** Whether \c alias_r is mentioned in ReposToEnable. */
     bool repoToEnableFind( const std::string & alias_r ) const;
@@ -118,6 +143,8 @@ namespace zypp
     ReposToDisable::size_type      reposToDisableSize() const;
     ReposToDisable::const_iterator reposToDisableBegin() const;
     ReposToDisable::const_iterator reposToDisableEnd() const;
+    Iterable<ReposToDisable::const_iterator> reposToDisable() const
+    { return makeIterable( reposToDisableBegin(), reposToDisableEnd() ); }
 
     /** Whether \c alias_r is mentioned in ReposToDisable. */
     bool repoToDisableFind( const std::string & alias_r ) const;