]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.h
Release 1.4~beta1
[apt.git] / apt-pkg / algorithms.h
index 5b0d8fb2997ed29c01c85976517c0bbfaa0a20bf..5148ff19d10b6c145ef7fe16a8957f141b021c0b 100644 (file)
@@ -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
@@ -81,9 +82,16 @@ class pkgSimulate : public pkgPackageManager                         /*{{{*/
    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();