don't try to attach source when setting verifier only
authorStanislav Visnovsky <visnov@suse.cz>
Tue, 28 Feb 2006 09:13:17 +0000 (09:13 +0000)
committerStanislav Visnovsky <visnov@suse.cz>
Tue, 28 Feb 2006 09:13:17 +0000 (09:13 +0000)
zypp/source/MediaSet.cc
zypp/source/MediaSet.h
zypp/source/susetags/SuseTagsImpl.cc

index 90d522d..f53e2ee 100644 (file)
@@ -56,14 +56,14 @@ namespace zypp
       }
     }
 
-    media::MediaAccessId MediaSet::getMediaAccessId (media::MediaNr medianr)
+    media::MediaAccessId MediaSet::getMediaAccessId (media::MediaNr medianr, bool noattach)
     {
      media::MediaManager media_mgr;
 
      if (medias.find(medianr) != medias.end())
       {
        media::MediaAccessId id = medias[medianr];
-       if (! media_mgr.isAttached(id))
+       if (! noattach && ! media_mgr.isAttached(id))
          media_mgr.attach(id);
        return id;
       }
@@ -82,7 +82,10 @@ namespace zypp
        WAR << "Verifier not found" << endl;
       }
       medias[medianr] = id;
-      media_mgr.attach(id);
+      
+      if (! noattach)
+        media_mgr.attach(id);
+
       return id;
     }
 
index 249625f..19ebb07 100644 (file)
@@ -43,7 +43,7 @@ namespace zypp
       MediaSet(const Source_Ref & source_r);
 
       /** Get the media access ID to specified media */
-      media::MediaAccessId getMediaAccessId (media::MediaNr medianr);
+      media::MediaAccessId getMediaAccessId (media::MediaNr medianr, bool no_attach = false);
       /** Redirect specified media to a new MediaId */
       void redirect (media::MediaNr medianr, media::MediaAccessId media_id);
       /** Reset the handles to the medias */
index f54eb9b..d46b3cb 100644 (file)
@@ -165,7 +165,8 @@ namespace zypp
           MIL << "Vendor: " << _vendor << endl;
           MIL << "Media ID: " << _media_id << endl;
 
-          media::MediaAccessId _media = _media_set->getMediaAccessId(1);
+         // get media ID, but not attaching
+          media::MediaAccessId _media = _media_set->getMediaAccessId(1, true);
                 media_mgr.delVerifier(_media);
                 media_mgr.addVerifier(_media, media::MediaVerifierRef(
                 new SourceImpl::Verifier (_vendor, _media_id) ));