]> git.saurik.com Git - apt.git/blobdiff - apt-private/private-cachefile.h
all errors should be printed to stderr
[apt.git] / apt-private / private-cachefile.h
index 94d93df2cc3c1a6c63ea52a43390ad1a9f0cdc26..1fddabfbd5428de9c0e10fd7c1458b9b29b2f2eb 100644 (file)
@@ -5,16 +5,30 @@
 #include <apt-pkg/progress.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/pkgcache.h>
+#include <apt-pkg/macros.h>
+#include <apt-pkg/sourcelist.h>
+#include <apti18n.h>
 
+// FIXME: we need to find a way to export this 
+class APT_PUBLIC SourceList : public pkgSourceList
+{
+   
+ public:
+   // Add custom metaIndex (e.g. local files)
+   void AddMetaIndex(metaIndex *mi) {
+      SrcList.push_back(mi);
+   }
+
+};
 
 // class CacheFile - Cover class for some dependency cache functions   /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-class CacheFile : public pkgCacheFile
+class APT_PUBLIC CacheFile : public pkgCacheFile
 {
    static pkgCache *SortCache;
-   static int NameComp(const void *a,const void *b);
-   
+   APT_HIDDEN static int NameComp(const void *a,const void *b) APT_PURE;
+
    public:
    pkgCache::Package **List;
    
@@ -27,6 +41,16 @@ class CacheFile : public pkgCacheFile
         return false;
       return true;
    }
+   // FIXME: this can go once the "libapt-pkg" pkgSourceList has a way
+   //        to add custom metaIndexes (or custom local files or so)
+   bool BuildSourceList(OpProgress */*Progress*/ = NULL) {
+      if (SrcList != NULL)
+         return true;
+      SrcList = new SourceList();
+      if (SrcList->ReadMainList() == false)
+         return _error->Error(_("The list of sources could not be read."));
+      return true;
+   }
    bool Open(bool WithLock = true) 
    {
       OpTextProgress Prog(*_config);