summaryrefslogtreecommitdiff
path: root/apt-private/private-cachefile.h
diff options
context:
space:
mode:
Diffstat (limited to 'apt-private/private-cachefile.h')
-rw-r--r--apt-private/private-cachefile.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/apt-private/private-cachefile.h b/apt-private/private-cachefile.h
new file mode 100644
index 000000000..f24d93020
--- /dev/null
+++ b/apt-private/private-cachefile.h
@@ -0,0 +1,51 @@
+#ifndef APT_PRIVATE_CACHEFILE_H
+#define APT_PRIVATE_CACHEFILE_H
+
+#include <apt-pkg/cachefile.h>
+#include <apt-pkg/progress.h>
+
+
+// class CacheFile - Cover class for some dependency cache functions /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+class CacheFile : public pkgCacheFile
+{
+ static pkgCache *SortCache;
+ static int NameComp(const void *a,const void *b);
+
+ public:
+ pkgCache::Package **List;
+
+ void Sort();
+ bool CheckDeps(bool AllowBroken = false);
+ bool BuildCaches(bool WithLock = true)
+ {
+ OpTextProgress Prog(*_config);
+ if (pkgCacheFile::BuildCaches(&Prog,WithLock) == false)
+ return false;
+ return true;
+ }
+ bool Open(bool WithLock = true)
+ {
+ OpTextProgress Prog(*_config);
+ if (pkgCacheFile::Open(&Prog,WithLock) == false)
+ return false;
+ Sort();
+
+ return true;
+ };
+ bool OpenForInstall()
+ {
+ if (_config->FindB("APT::Get::Print-URIs") == true)
+ return Open(false);
+ else
+ return Open(true);
+ }
+ CacheFile() : List(0) {};
+ ~CacheFile() {
+ delete[] List;
+ }
+};
+ /*}}}*/
+
+#endif