]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.h
Don't download "optional" files not in Release :/.
[apt.git] / apt-pkg / algorithms.h
index 28057fa5c05504f7dbc7a6ed4baf687af7c7889d..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
@@ -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:
 
@@ -113,8 +121,7 @@ class pkgProblemResolver                                            /*{{{*/
    bool Debug;
    
    // Sort stuff
-   static pkgProblemResolver *This;
-   APT_HIDDEN static int ScoreSort(const void *a,const void *b) APT_PURE;
+   APT_HIDDEN int ScoreSort(Package const *A, Package const *B) APT_PURE;
 
    struct PackageKill
    {
@@ -125,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,22 +142,14 @@ class pkgProblemResolver                                          /*{{{*/
    inline void Clear(pkgCache::PkgIterator Pkg) {Flags[Pkg->ID] &= ~(Protected | ToRemove);};
 
    // Try to intelligently resolve problems by installing and removing packages
-#if APT_PKG_ABI >= 413
    bool Resolve(bool BrokenFix = false, OpProgress * const Progress = NULL);
-#else
-   bool Resolve(bool BrokenFix = false);
-   bool Resolve(bool BrokenFix, OpProgress * const Progress);
-#endif
+   APT_HIDDEN bool ResolveInternal(bool const BrokenFix = false);
 
    // Try to resolve problems only by using keep
-#if APT_PKG_ABI >= 413
    bool ResolveByKeep(OpProgress * const Progress = NULL);
-#else
-   bool ResolveByKeep();
-   bool ResolveByKeep(OpProgress * const Progress);
-#endif
+   APT_HIDDEN bool ResolveByKeepInternal();
 
-   APT_DEPRECATED void InstallProtect();
+   APT_DEPRECATED_MSG("NOOP as MarkInstall enforces not overriding FromUser markings") void InstallProtect();
 
    explicit pkgProblemResolver(pkgDepCache *Cache);
    virtual ~pkgProblemResolver();