summaryrefslogtreecommitdiff
path: root/apt-pkg/algorithms.h
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2005-06-30 08:02:37 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2005-06-30 08:02:37 +0000
commit2ac6ce927cda2847baf8e71a74e595e6b82c6d98 (patch)
treee26518dd191c405070a2c8d8d7a0dbb056ef0cf2 /apt-pkg/algorithms.h
parentbc80031f74e4acfca5b8ca7188b12ee885a713bd (diff)
* added a callback to pkgMarkUsed() so that frontend can extend the root-set of the auto-remover easily
Diffstat (limited to 'apt-pkg/algorithms.h')
-rw-r--r--apt-pkg/algorithms.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/apt-pkg/algorithms.h b/apt-pkg/algorithms.h
index 210127ab9..82d7b7aad 100644
--- a/apt-pkg/algorithms.h
+++ b/apt-pkg/algorithms.h
@@ -133,8 +133,20 @@ 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
+typedef bool (*InRootSetFunc)(pkgCache::PkgIterator);
+
+// Mark all reachable packages with pkgDepCache::StateCache.Marked
+// the root-set are all essential packages+everything that was installed
+// manually
+//
+// 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