]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/pkgcache.h
Removed some debug stuff, corrected the VerifyConfigure calls to VerifyAndConfigure
[apt.git] / apt-pkg / pkgcache.h
index a2e63ff0392fa17f63399a7135c56c297930af4c..1b174372481f0a1a7a43a4ce1fb24c3f7a4d29de 100644 (file)
@@ -146,7 +146,7 @@ class pkgCache                                                              /*{{{*/
    struct Flag
    {
       enum PkgFlags {Auto=(1<<0),Essential=(1<<3),Important=(1<<4)};
-      enum PkgFFlags {NotSource=(1<<0),NotAutomatic=(1<<1)};
+      enum PkgFFlags {NotSource=(1<<0),NotAutomatic=(1<<1),ButAutomaticUpgrades=(1<<2)};
    };
    
    protected:
@@ -174,7 +174,7 @@ class pkgCache                                                              /*{{{*/
    StringItem *StringItemP;
    char *StrP;
 
-   virtual bool ReMap();
+   virtual bool ReMap(bool const &Errorchecks = true);
    inline bool Sync() {return Map.Sync();};
    inline MMap &GetMap() {return Map;};
    inline void *DataEnd() {return ((unsigned char *)Map.Data()) + Map.Size();};
@@ -215,6 +215,7 @@ class pkgCache                                                              /*{{{*/
 private:
    bool MultiArchEnabled;
    PkgIterator SingleArchFindPkg(const string &Name);
+   inline char const * const NativeArch() const;
 };
                                                                        /*}}}*/
 // Header structure                                                    /*{{{*/
@@ -244,6 +245,7 @@ struct pkgCache::Header
        If any of the size values do not exactly match what the client expects
        then the client should refuse the load the file. */
    unsigned short HeaderSz;
+   unsigned short GroupSz;
    unsigned short PackageSz;
    unsigned short PackageFileSz;
    unsigned short VersionSz;
@@ -329,12 +331,15 @@ struct pkgCache::Group
    map_ptrloc Name;            // StringItem
 
    // Linked List
-   /** Link to the first package which belongs to the group */
+   /** \brief Link to the first package which belongs to the group */
    map_ptrloc FirstPackage;    // Package
-   /** Link to the last package which belongs to the group */
+   /** \brief Link to the last package which belongs to the group */
    map_ptrloc LastPackage;     // Package
-   /** Link to the next Group */
+   /** \brief Link to the next Group */
    map_ptrloc Next;            // Group
+   /** \brief unique sequel ID */
+   unsigned int ID;
+
 };
                                                                        /*}}}*/
 // Package structure                                                   /*{{{*/
@@ -501,9 +506,9 @@ struct pkgCache::Version
        Foreign means that this version can fulfill dependencies even
        if it is built for another architecture as the requester.
        Same indicates that builds for different architectures can
-       be co-installed on the system and All is the marker for a
-       version with the Architecture: all. */
-   enum {None, All, Foreign, Same, Allowed} MultiArch;
+       be co-installed on the system */
+   /* FIXME: A bitflag would be better with the next abibreak… */
+   enum {None, All, Foreign, Same, Allowed, AllForeign, AllAllowed} MultiArch;
 
    /** \brief references all the PackageFile's that this version came from
 
@@ -528,9 +533,9 @@ struct pkgCache::Version
    /** \brief archive size for this version
 
        For Debian this is the size of the .deb file. */
-   map_ptrloc Size;              // These are the .deb size
+   unsigned long long Size;      // These are the .deb size
    /** \brief uncompressed size for this version */
-   map_ptrloc InstalledSize;
+   unsigned long long InstalledSize;
    /** \brief characteristic value representing this version
 
        No two packages in existence should have the same VerStr
@@ -645,6 +650,11 @@ struct pkgCache::StringItem
    map_ptrloc NextItem;      // StringItem
 };
                                                                        /*}}}*/
+
+
+inline char const * const pkgCache::NativeArch() const
+       { return StrP + HeaderP->Architecture; };
+
 #include <apt-pkg/cacheiterators.h>
 
 inline pkgCache::GrpIterator pkgCache::GrpBegin()