// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: cdrom.cc,v 1.14 1999/08/08 03:34:08 jgg Exp $
+// $Id: cdrom.cc,v 1.16 1999/10/18 00:37:36 jgg Exp $
/* ######################################################################
CDROM URI method for APT
bool DatabaseLoaded;
::Configuration Database;
string CurrentID;
+ string CDROM;
+ bool Mounted;
virtual bool Fetch(FetchItem *Itm);
string GetID(string Name);
+ virtual void Exit();
public:
// ---------------------------------------------------------------------
/* */
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
- SendConfig), DatabaseLoaded(false)
+ SendConfig | NeedsCleanup),
+ DatabaseLoaded(false),
+ Mounted(false)
{
};
/*}}}*/
+// CDROMMethod::Exit - Unmount the disc if necessary /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+void CDROMMethod::Exit()
+{
+ if (Mounted == true)
+ UnmountCdrom(CDROM);
+}
+ /*}}}*/
// CDROMMethod::GetID - Search the database for a matching string /*{{{*/
// ---------------------------------------------------------------------
/* */
{
Res.LastModified = Itm->LastModified;
Res.IMSHit = true;
+ Res.Filename = File;
URIDone(Res);
return true;
}
return true;
}
- string CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/");
+ CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/");
if (CDROM[0] == '.')
CDROM= SafeGetCWD() + '/' + CDROM;
string NewID;
}
MountCdrom(CDROM);
+ Mounted = true;
}
// Found a CD