]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.h
improve the API for Upgrade()
[apt.git] / apt-pkg / algorithms.h
index aff8a68f2ce1a2691660bfd35db5bc29b01e795c..9ff84e3ffd4781031e0c958085431eef122344e0 100644 (file)
@@ -36,6 +36,8 @@
 
 #include <iostream>
 
+#include <apt-pkg/macros.h>
+
 #ifndef APT_8_CLEANER_HEADERS
 #include <apt-pkg/acquire.h>
 using std::ostream;
@@ -43,6 +45,15 @@ using std::ostream;
 
 class pkgAcquireStatus;
 
+namespace APT {
+   namespace Upgrade {
+      enum UpgradeMode {NO_INSTALL_OR_REMOVE,
+                        ALLOW_NEW_INSTALLS,
+                        ALLOW_REMOVAL_AND_NEW_INSTALLS};
+      bool Upgrade(pkgDepCache &Cache, UpgradeMode mode);
+   }
+}
+
 class pkgSimulate : public pkgPackageManager                           /*{{{*/
 {
    protected:
@@ -83,6 +94,7 @@ private:
                                                                        /*}}}*/
 class pkgProblemResolver                                               /*{{{*/
 {
+ private:
    /** \brief dpointer placeholder (for later in case we need it) */
    void *d;
 
@@ -132,9 +144,8 @@ class pkgProblemResolver                                            /*{{{*/
    // Try to resolve problems only by using keep
    bool ResolveByKeep();
 
-   // Install all protected packages   
-   void InstallProtect();   
-   
+   __deprecated void InstallProtect();
+
    pkgProblemResolver(pkgDepCache *Cache);
    ~pkgProblemResolver();
 };
@@ -142,7 +153,9 @@ class pkgProblemResolver                                            /*{{{*/
 bool pkgDistUpgrade(pkgDepCache &Cache);
 bool pkgApplyStatus(pkgDepCache &Cache);
 bool pkgFixBroken(pkgDepCache &Cache);
+
 bool pkgAllUpgrade(pkgDepCache &Cache);
+
 bool pkgMinimizeUpgrade(pkgDepCache &Cache);
 
 void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List);