X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/03e39e592311fd327ea516d31567557830634c86..421c8d109932a2615b9327c8b69aad715d4b1162:/apt-pkg/packagemanager.h?ds=sidebyside diff --git a/apt-pkg/packagemanager.h b/apt-pkg/packagemanager.h index c6ab82de6..d8a09f65a 100644 --- a/apt-pkg/packagemanager.h +++ b/apt-pkg/packagemanager.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: packagemanager.h,v 1.5 1998/11/13 04:23:31 jgg Exp $ +// $Id: packagemanager.h,v 1.10 1999/07/20 05:53:33 jgg Exp $ /* ###################################################################### Package Manager - Abstacts the package manager @@ -38,10 +38,15 @@ class pkgOrderList; class pkgRecords; class pkgPackageManager { + public: + + enum OrderResult {Completed,Failed,Incomplete}; + protected: string *FileNames; pkgDepCache &Cache; pkgOrderList *List; + bool Debug; // Bring some usefull types into the local scope typedef pkgCache::PkgIterator PkgIterator; @@ -52,8 +57,9 @@ class pkgPackageManager typedef pkgCache::Package Package; bool DepAdd(pkgOrderList &Order,PkgIterator P,int Depth = 0); - bool OrderInstall(); + OrderResult OrderInstall(); bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver); + bool CreateOrderList(); // Analysis helpers bool DepAlwaysTrue(DepIterator D); @@ -68,15 +74,16 @@ class pkgPackageManager // The Actuall installation implementation virtual bool Install(PkgIterator /*Pkg*/,string /*File*/) {return false;}; virtual bool Configure(PkgIterator /*Pkg*/) {return false;}; - virtual bool Remove(PkgIterator /*Pkg*/) {return false;}; + virtual bool Remove(PkgIterator /*Pkg*/,bool /*Purge*/=false) {return false;}; virtual bool Go() {return true;}; + virtual void Reset() {}; public: - + // Main action members bool GetArchives(pkgAcquire *Owner,pkgSourceList *Sources, pkgRecords *Recs); - bool DoInstall(); + OrderResult DoInstall(); bool FixMissing(); pkgPackageManager(pkgDepCache &Cache);