Mailinglist Archive: zypp-commit (731 mails)

< Previous Next >
[zypp-commit] r6372 - in /trunk/libzypp/zypp/repo: RepoProvideFile.cc RepoProvideFile.h
  • From: mlandres@xxxxxxxxxxxxxxxx
  • Date: Wed, 01 Aug 2007 16:39:42 -0000
  • Message-id: <20070801163942.B7FC6B2518@xxxxxxxxxxxxxxxx>
Author: mlandres
Date: Wed Aug  1 18:39:42 2007
New Revision: 6372

URL: http://svn.opensuse.org/viewcvs/zypp?rev=6372&view=rev
Log:
Support setting a default ProvideFilePolicy, so it has not to be
repeated on each provideFile call.

Modified:
    trunk/libzypp/zypp/repo/RepoProvideFile.cc
    trunk/libzypp/zypp/repo/RepoProvideFile.h

Modified: trunk/libzypp/zypp/repo/RepoProvideFile.cc
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/RepoProvideFile.cc?rev=6372&r1=6371&r2=6372&view=diff
==============================================================================
--- trunk/libzypp/zypp/repo/RepoProvideFile.cc (original)
+++ trunk/libzypp/zypp/repo/RepoProvideFile.cc Wed Aug  1 18:39:42 2007
@@ -77,7 +77,8 @@
     class RepoMediaAccess::Impl
     {
     public:
-      Impl()
+      Impl( const ProvideFilePolicy & defaultPolicy_r )
+        : _defaultPolicy( defaultPolicy_r )
       {}
 
       ~Impl()
@@ -167,19 +168,23 @@
 
       std::map<shared_ptr<MediaSetAccess>, Repository> _verifier;
       std::map<Url, shared_ptr<MediaSetAccess> > _medias;
+      ProvideFilePolicy _defaultPolicy;
     };
 
 
 
-    RepoMediaAccess::RepoMediaAccess()
-      : _impl( new Impl() )
-    {
-    }
+    RepoMediaAccess::RepoMediaAccess( const ProvideFilePolicy & defaultPolicy_r )
+      : _impl( new Impl( defaultPolicy_r ) )
+    {}
 
     RepoMediaAccess::~RepoMediaAccess()
-    {
+    {}
 
-    }
+    void RepoMediaAccess::setDefaultPolicy( const ProvideFilePolicy & policy_r )
+    { _impl->_defaultPolicy = policy_r; }
+
+    const ProvideFilePolicy & RepoMediaAccess::defaultPolicy() const
+    { return _impl->_defaultPolicy; }
 
     ManagedFile RepoMediaAccess::provideFile( Repository repo_r,
                                               const OnMediaLocation & loc_r,

Modified: trunk/libzypp/zypp/repo/RepoProvideFile.h
URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/repo/RepoProvideFile.h?rev=6372&r1=6371&r2=6372&view=diff
==============================================================================
--- trunk/libzypp/zypp/repo/RepoProvideFile.h (original)
+++ trunk/libzypp/zypp/repo/RepoProvideFile.h Wed Aug  1 18:39:42 2007
@@ -60,7 +60,8 @@
     class RepoMediaAccess
     {
     public:
-      RepoMediaAccess();
+      /** Ctor taking the default \ref ProvideFilePolicy. */
+      RepoMediaAccess( const ProvideFilePolicy & defaultPolicy_r = ProvideFilePolicy() );
       ~RepoMediaAccess();
 
       /** Provide a file from a Repository.
@@ -74,11 +75,22 @@
       */
       ManagedFile provideFile( Repository repo_r,
                                const OnMediaLocation & loc_r,
-                               const ProvideFilePolicy & policy_r = ProvideFilePolicy() );
-    private:
+                               const ProvideFilePolicy & policy_r );
+
+      /** \overload Using the current default \ref ProvideFilePolicy. */
+      ManagedFile provideFile( Repository repo_r, const OnMediaLocation & loc_r )
+      { return provideFile( repo_r, loc_r, defaultPolicy() ); }
+
+    public:
+      /** Set a new default \ref ProvideFilePolicy. */
+      void setDefaultPolicy( const ProvideFilePolicy & policy_r );
+
+      /** Get the current default \ref ProvideFilePolicy. */
+      const ProvideFilePolicy & defaultPolicy() const;
+
+   private:
       class Impl;
        RW_pointer<Impl> _impl;
-
     };
 
     /////////////////////////////////////////////////////////////////

--
To unsubscribe, e-mail: zypp-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages