X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/5dd00edbcf702cac1ea22392796c65881a8ef6f9..7d5234ab88b4cd6b172f13d0912c585983c3410b:/apt-pkg/algorithms.h diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h index 1a9d5aefd..5148ff19d 100644 --- a/apt-pkg/algorithms.h +++ b/apt-pkg/algorithms.h @@ -52,9 +52,10 @@ using std::ostream; #endif +class pkgSimulatePrivate; class pkgSimulate : public pkgPackageManager /*{{{*/ { - void * const d; + pkgSimulatePrivate * const d; protected: class Policy : public pkgDepCache::Policy @@ -75,15 +76,22 @@ class pkgSimulate : public pkgPackageManager /*{{{*/ Policy iPolicy; pkgDepCache Sim; pkgDepCache::ActionGroup group; - - // The Actuall installation implementation + + // The Actual installation implementation virtual bool Install(PkgIterator Pkg,std::string File) APT_OVERRIDE; virtual bool Configure(PkgIterator Pkg) APT_OVERRIDE; virtual bool Remove(PkgIterator Pkg,bool Purge) APT_OVERRIDE; + // FIXME: trick to avoid ABI break for virtual reimplementation; fix on next ABI break +public: + APT_HIDDEN bool Go2(APT::Progress::PackageManager * progress); + private: APT_HIDDEN void ShortBreaks(); APT_HIDDEN void Describe(PkgIterator iPkg,std::ostream &out,bool Current,bool Candidate); + APT_HIDDEN bool RealInstall(PkgIterator Pkg,std::string File); + APT_HIDDEN bool RealConfigure(PkgIterator Pkg); + APT_HIDDEN bool RealRemove(PkgIterator Pkg,bool Purge); public: @@ -124,9 +132,6 @@ class pkgProblemResolver /*{{{*/ APT_HIDDEN void MakeScores(); APT_HIDDEN bool DoUpgrade(pkgCache::PkgIterator Pkg); - APT_HIDDEN bool ResolveInternal(bool const BrokenFix = false); - APT_HIDDEN bool ResolveByKeepInternal(); - protected: bool InstOrNewPolicyBroken(pkgCache::PkgIterator Pkg); @@ -138,9 +143,11 @@ class pkgProblemResolver /*{{{*/ // Try to intelligently resolve problems by installing and removing packages bool Resolve(bool BrokenFix = false, OpProgress * const Progress = NULL); + APT_HIDDEN bool ResolveInternal(bool const BrokenFix = false); // Try to resolve problems only by using keep bool ResolveByKeep(OpProgress * const Progress = NULL); + APT_HIDDEN bool ResolveByKeepInternal(); APT_DEPRECATED_MSG("NOOP as MarkInstall enforces not overriding FromUser markings") void InstallProtect();