X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/4264ebebe1826781e5b863a13041a6972ace01db..5cc8cbf368251c4be4ffa1482fa5fb6b9d950452:/apt-pkg/packagemanager.h diff --git a/apt-pkg/packagemanager.h b/apt-pkg/packagemanager.h index 070b9c04b..853b9bac8 100644 --- a/apt-pkg/packagemanager.h +++ b/apt-pkg/packagemanager.h @@ -23,31 +23,41 @@ #ifndef PKGLIB_PACKAGEMANAGER_H #define PKGLIB_PACKAGEMANAGER_H +#include +#include +#include +#include #include #include -#include -#include #include +#ifndef APT_8_CLEANER_HEADERS +#include using std::string; +#endif class pkgAcquire; class pkgDepCache; class pkgSourceList; class pkgOrderList; class pkgRecords; + + class pkgPackageManager : protected pkgCache::Namespace { public: enum OrderResult {Completed,Failed,Incomplete}; + static bool SigINTStop; protected: - string *FileNames; + std::string *FileNames; pkgDepCache &Cache; pkgOrderList *List; bool Debug; + bool NoImmConfigure; + bool ImmConfigureAll; /** \brief saves packages dpkg let disappear @@ -57,7 +67,6 @@ class pkgPackageManager : protected pkgCache::Namespace */ std::set disappearedPkgs; - bool DepAdd(pkgOrderList &Order,PkgIterator P,int Depth = 0); void ImmediateAdd(PkgIterator P, bool UseInstallVer, unsigned const int &Depth = 0); virtual OrderResult OrderInstall(); bool CheckRConflicts(PkgIterator Pkg,DepIterator Dep,const char *Ver); @@ -68,20 +77,23 @@ class pkgPackageManager : protected pkgCache::Namespace // Install helpers bool ConfigureAll(); - bool SmartConfigure(PkgIterator Pkg); + bool SmartConfigure(PkgIterator Pkg, int const Depth); //FIXME: merge on abi break bool SmartUnPack(PkgIterator Pkg); - bool SmartUnPack(PkgIterator Pkg, bool const Immediate); + bool SmartUnPack(PkgIterator Pkg, bool const Immediate, int const Depth); bool SmartRemove(PkgIterator Pkg); bool EarlyRemove(PkgIterator Pkg); - bool VerifyAndConfigure(PkgIterator Pkg, pkgOrderList &OList); - bool VerifyConfigure(PkgIterator Pkg, pkgOrderList &OList); // The Actual installation implementation - virtual bool Install(PkgIterator /*Pkg*/,string /*File*/) {return false;}; + virtual bool Install(PkgIterator /*Pkg*/,std::string /*File*/) {return false;}; virtual bool Configure(PkgIterator /*Pkg*/) {return false;}; virtual bool Remove(PkgIterator /*Pkg*/,bool /*Purge*/=false) {return false;}; +#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13) + virtual bool Go(APT::Progress::PackageManager *progress) {return true;}; +#else virtual bool Go(int statusFd=-1) {return true;}; +#endif + virtual void Reset() {}; // the result of the operation @@ -94,7 +106,13 @@ class pkgPackageManager : protected pkgCache::Namespace pkgRecords *Recs); // Do the installation +#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13) + OrderResult DoInstall(APT::Progress::PackageManager *progress); + // compat + __deprecated OrderResult DoInstall(int statusFd=-1); +#else OrderResult DoInstall(int statusFd=-1); +#endif // stuff that needs to be done before the fork() of a library that // uses apt @@ -102,9 +120,16 @@ class pkgPackageManager : protected pkgCache::Namespace Res = OrderInstall(); return Res; }; - +#if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13) // stuff that needs to be done after the fork + OrderResult DoInstallPostFork(APT::Progress::PackageManager *progress); + // compat + __deprecated OrderResult DoInstallPostFork(int statusFd=-1); +#else OrderResult DoInstallPostFork(int statusFd=-1); +#endif + + // ? bool FixMissing(); /** \brief returns all packages dpkg let disappear */