]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/cachefile.h
doesn't use a default separator in ExplodeString (halfway losted in merge)
[apt.git] / apt-pkg / cachefile.h
index 4888b441c330267f45738f14df09e55214f1fb02..3b057951c81fdfa5dff93809ec6ef3979e396a5e 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: cachefile.h,v 1.2 1999/06/12 03:43:48 jgg Exp $
+// $Id: cachefile.h,v 1.5 2002/04/27 04:28:04 jgg Exp $
 /* ######################################################################
    
    CacheFile - Simple wrapper class for opening, generating and whatnot
 /* ######################################################################
    
    CacheFile - Simple wrapper class for opening, generating and whatnot
@@ -9,39 +9,45 @@
    of caches. It can operate as root, as not root, show progress and so on,
    it transparently handles everything necessary.
    
    of caches. It can operate as root, as not root, show progress and so on,
    it transparently handles everything necessary.
    
+   This means it can rebuild caches from the source list and instantiates
+   and prepares the standard policy mechanism.
+   
    ##################################################################### */
                                                                        /*}}}*/
 #ifndef PKGLIB_CACHEFILE_H
 #define PKGLIB_CACHEFILE_H
 
    ##################################################################### */
                                                                        /*}}}*/
 #ifndef PKGLIB_CACHEFILE_H
 #define PKGLIB_CACHEFILE_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/cachefile.h"
-#endif 
 
 #include <apt-pkg/depcache.h>
 
 #include <apt-pkg/depcache.h>
-#include <apt-pkg/dpkginit.h>
+#include <apt-pkg/acquire.h>
+#include <apt-pkg/sourcelist.h>
 
 
+class pkgPolicy;
 class pkgCacheFile
 {
    protected:
    
    MMap *Map;
 class pkgCacheFile
 {
    protected:
    
    MMap *Map;
-   pkgDepCache *Cache;
-   pkgDpkgLock *Lock;
+   pkgCache *Cache;
+   pkgDepCache *DCache;
    
    public:
    
    public:
+
+   pkgPolicy *Policy;
       
    // We look pretty much exactly like a pointer to a dep cache
       
    // We look pretty much exactly like a pointer to a dep cache
-   inline operator pkgDepCache &() {return *Cache;};
-   inline pkgDepCache *operator ->() {return Cache;};
-   inline pkgDepCache &operator *() {return *Cache;};
-   inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) {return (*Cache)[I];};
-   inline unsigned char &operator [](pkgCache::DepIterator const &I) {return (*Cache)[I];};
-   
-   // Release the dpkg status lock
-   inline void ReleaseLock() {Lock->Close();};
-   
+   inline operator pkgCache &() {return *Cache;};
+   inline operator pkgCache *() {return Cache;};
+   inline operator pkgDepCache &() {return *DCache;};
+   inline operator pkgDepCache *() {return DCache;};
+   inline pkgDepCache *operator ->() {return DCache;};
+   inline pkgDepCache &operator *() {return *DCache;};
+   inline pkgDepCache::StateCache &operator [](pkgCache::PkgIterator const &I) {return (*DCache)[I];};
+   inline unsigned char &operator [](pkgCache::DepIterator const &I) {return (*DCache)[I];};
+
+   bool BuildCaches(OpProgress &Progress,bool WithLock = true);
    bool Open(OpProgress &Progress,bool WithLock = true);
    bool Open(OpProgress &Progress,bool WithLock = true);
+   void Close();
    
    pkgCacheFile();
    ~pkgCacheFile();
    
    pkgCacheFile();
    ~pkgCacheFile();