]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.h
* some WS fixes
[apt.git] / apt-pkg / algorithms.h
index 210127ab9125e321f5138242898baed9ce29d78d..02b40e15f0fa221a82deae30f678d6dbd904808c 100644 (file)
@@ -133,8 +133,21 @@ bool pkgMinimizeUpgrade(pkgDepCache &Cache);
 
 void pkgPrioSortList(pkgCache &Cache,pkgCache::Version **List);
 
-// mark all reachable packages, everything that is not reach can 
-// be removed
-bool pkgMarkUsed(pkgDepCache &Cache);
+
+// callback function that can be used by the client to bring in
+// certain own packages into the root set (if the client returns
+// True the package will be considered as part of the root set)
+typedef bool (*InRootSetFunc)(pkgCache::PkgIterator);
+
+// Mark all reachable packages with "pkgDepCache::StateCache.Marked=1"
+// the root-set are all essential packages+everything that was not 
+// installed automatically
+//
+// If InRootSetFunc is set, it will be called for each PkgIterator. This
+// is usefull for clients that have there own idea about the root-set
+// 
+// Everything that is not reach can be removed
+bool pkgMarkUsed(pkgDepCache &Cache, InRootSetFunc f=NULL);
+                
                     
 #endif