]> git.saurik.com Git - apt.git/blobdiff - methods/cdrom.cc
Check the currently mounted cdrom, to see if it's the o...
[apt.git] / methods / cdrom.cc
index e2eddf19e6b56334c889941aaa1b9fc38bfbf3f9..c4fde2217f0c040d7c9dad6fbcd9bffb4829ff8c 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: cdrom.cc,v 1.16 1999/10/18 00:37:36 jgg Exp $
+// $Id: cdrom.cc,v 1.19 2002/11/22 07:26:10 doogie Exp $
 /* ######################################################################
 
    CDROM URI method for APT
 
 #include <sys/stat.h>
 #include <unistd.h>
+
+#include <iostream>
                                                                        /*}}}*/
 
+using namespace std;
+
 class CDROMMethod : public pkgAcqMethod
 {
    bool DatabaseLoaded;
@@ -38,8 +42,9 @@ class CDROMMethod : public pkgAcqMethod
 // CDROMMethod::CDROMethod - Constructor                               /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | 
-                                         SendConfig | NeedsCleanup), 
+CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
+                                         SendConfig | NeedsCleanup |
+                                         Removable), 
                                           DatabaseLoaded(false), 
                                           Mounted(false)
 {
@@ -132,6 +137,7 @@ bool CDROMMethod::Fetch(FetchItem *Itm)
    while (CurrentID.empty() == true)
    {
       bool Hit = false;
+      Mounted = MountCdrom(CDROM);
       for (unsigned int Version = 2; Version != 0; Version--)
       {
         if (IdentCdrom(CDROM,NewID,Version) == false)
@@ -161,9 +167,6 @@ bool CDROMMethod::Fetch(FetchItem *Itm)
         Fail("Wrong CD",true);
         return true;
       }
-      
-      MountCdrom(CDROM);
-      Mounted = true;
    }
    
    // Found a CD
@@ -175,7 +178,6 @@ bool CDROMMethod::Fetch(FetchItem *Itm)
    if (NewID.empty() == false)
       CurrentID = NewID;
    Res.LastModified = Buf.st_mtime;
-   Res.IMSHit = true;
    Res.Size = Buf.st_size;
    URIDone(Res);
    return true;