Imported Upstream version 16.3.2
[platform/upstream/libzypp.git] / zypp / MediaSetAccess.cc
index 5dad952..66bc72f 100644 (file)
@@ -46,9 +46,7 @@ IMPL_PTR_TYPE(MediaSetAccess);
   {
     try
     {
-      media::MediaManager manager;
-      for ( const auto & mm : _medias )
-       manager.close( mm.second );
+      release();
     }
     catch(...) {} // don't let exception escape a dtor.
   }
@@ -110,11 +108,10 @@ IMPL_PTR_TYPE(MediaSetAccess);
   struct ProvideFileOperation
   {
     Pathname result;
-    ByteCount expectedFileSize;
     void operator()( media::MediaAccessId media, const Pathname &file )
     {
       media::MediaManager media_mgr;
-      media_mgr.provideFile(media, file, expectedFileSize);
+      media_mgr.provideFile(media, file);
       result = media_mgr.localPath(media, file);
     }
   };
@@ -160,7 +157,6 @@ IMPL_PTR_TYPE(MediaSetAccess);
   Pathname MediaSetAccess::provideFile( const OnMediaLocation & resource, ProvideFileOptions options, const Pathname &deltafile )
   {
     ProvideFileOperation op;
-    op.expectedFileSize = resource.downloadSize();
     provide( boost::ref(op), resource, options, deltafile );
     return op.result;
   }
@@ -278,7 +274,7 @@ IMPL_PTR_TYPE(MediaSetAccess);
               media_nr,
               _label,
               reason,
-              excp.asUserString(),
+              excp.asUserHistory(),
               devices,
               devindex
             );
@@ -358,31 +354,27 @@ IMPL_PTR_TYPE(MediaSetAccess);
 
   media::MediaAccessId MediaSetAccess::getMediaAccessId (media::MediaNr medianr)
   {
-    media::MediaManager media_mgr;
-
-    if (_medias.find(medianr) != _medias.end())
+    if ( _medias.find( medianr ) != _medias.end() )
     {
-      media::MediaAccessId id = _medias[medianr];
-      return id;
+      return _medias[medianr];
     }
-    Url url;
-    url = rewriteUrl (_url, medianr);
-    media::MediaAccessId id = media_mgr.open(url, _prefAttachPoint);
+
+    Url url( medianr > 1 ? rewriteUrl( _url, medianr ) : _url );
+    media::MediaManager media_mgr;
+    media::MediaAccessId id = media_mgr.open( url, _prefAttachPoint );
     _medias[medianr] = id;
 
     try
     {
-      if (_verifiers.find(medianr) != _verifiers.end())
+      if ( _verifiers.find(medianr) != _verifiers.end() )
       {
         // a verifier is set for this media
         // FIXME check the case where the verifier exists
         // but we have no access id for the media
-        media::MediaAccessId id = _medias[medianr];
-        media::MediaManager media_mgr;
-        media_mgr.delVerifier(id);
+        media_mgr.delVerifier( id );
         media_mgr.addVerifier( id, _verifiers[medianr] );
         // remove any saved verifier for this media
-        _verifiers.erase(medianr);
+        _verifiers.erase( medianr );
       }
     }
     catch ( const Exception &e )