X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/8e5fc8f5bea54e3c016a14fe4025dcb94864e874..69a630271ea072a03189ce227c17801e13d0d732:/methods/cdrom.cc diff --git a/methods/cdrom.cc b/methods/cdrom.cc index e2eddf19e..f6b0bc679 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -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.20 2003/02/10 07:34:41 doogie Exp $ /* ###################################################################### CDROM URI method for APT @@ -8,6 +8,7 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include #include #include #include @@ -16,8 +17,12 @@ #include #include + +#include /*}}}*/ +using namespace std; + class CDROMMethod : public pkgAcqMethod { bool DatabaseLoaded; @@ -38,8 +43,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) { @@ -104,7 +110,7 @@ bool CDROMMethod::Fetch(FetchItem *Itm) if (FileExists(DFile) == true) { if (ReadConfigFile(Database,DFile) == false) - return _error->Error("Unable to read the cdrom database %s", + return _error->Error(_("Unable to read the cdrom database %s"), DFile.c_str()); } DatabaseLoaded = true; @@ -113,15 +119,15 @@ bool CDROMMethod::Fetch(FetchItem *Itm) // All non IMS queries for package files fail. if (Itm->IndexFile == true || GetID(Get.Host).empty() == true) { - Fail("Please use apt-cdrom to make this CD recognized by APT." - " apt-get update cannot be used to add new CDs"); + Fail(_("Please use apt-cdrom to make this CD recognized by APT." + " apt-get update cannot be used to add new CDs")); return true; } // We already have a CD inserted, but it is the wrong one if (CurrentID.empty() == false && Database.Find("CD::" + CurrentID) != Get.Host) { - Fail("Wrong CD",true); + Fail(_("Wrong CD"),true); return true; } @@ -132,6 +138,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) @@ -153,29 +160,25 @@ bool CDROMMethod::Fetch(FetchItem *Itm) // I suppose this should prompt somehow? if (UnmountCdrom(CDROM) == false) - return _error->Error("Unable to unmount the CD-ROM in %s, it may still be in use.", + return _error->Error(_("Unable to unmount the CD-ROM in %s, it may still be in use."), CDROM.c_str()); if (MediaFail(Get.Host,CDROM) == false) { CurrentID = "FAIL"; - Fail("Wrong CD",true); + Fail(_("Wrong CD"),true); return true; } - - MountCdrom(CDROM); - Mounted = true; } // Found a CD Res.Filename = CDROM + File; struct stat Buf; if (stat(Res.Filename.c_str(),&Buf) != 0) - return _error->Error("File not found"); + return _error->Error(_("File not found")); if (NewID.empty() == false) CurrentID = NewID; Res.LastModified = Buf.st_mtime; - Res.IMSHit = true; Res.Size = Buf.st_size; URIDone(Res); return true;