]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/contrib/hashes.h
avoid triggering the c++11 erase api change on travis
[apt.git] / apt-pkg / contrib / hashes.h
index ac13c8acef3c2e3022fd4ec6687abead88c7998f..74024befd1615bf2fededacf9ea02b6bccae1c40 100644 (file)
@@ -68,6 +68,7 @@ class HashString
    // helper
    std::string toStr() const;                    // convert to str as "type:hash"
    bool empty() const;
    // helper
    std::string toStr() const;                    // convert to str as "type:hash"
    bool empty() const;
+   bool usable() const;
    bool operator==(HashString const &other) const;
    bool operator!=(HashString const &other) const;
 
    bool operator==(HashString const &other) const;
    bool operator!=(HashString const &other) const;
 
@@ -87,6 +88,22 @@ class HashStringList
     */
    HashString const * find(char const * const type) const;
    HashString const * find(std::string const &type) const { return find(type.c_str()); }
     */
    HashString const * find(char const * const type) const;
    HashString const * find(std::string const &type) const { return find(type.c_str()); }
+
+   /** finds the filesize hash and returns it as number
+    *
+    * @return beware: if the size isn't known we return \b 0 here,
+    * just like we would do for an empty file. If that is a problem
+    * for you have to get the size manually out of the list.
+    */
+   unsigned long long FileSize() const;
+
+   /** sets the filesize hash
+    *
+    * @param Size of the file
+    * @return @see #push_back
+    */
+   bool FileSize(unsigned long long const Size);
+
    /** check if the given hash type is supported
     *
     * @param type to check
    /** check if the given hash type is supported
     *
     * @param type to check
@@ -166,7 +183,7 @@ class HashStringList
 class PrivateHashes;
 class Hashes
 {
 class PrivateHashes;
 class Hashes
 {
-   PrivateHashes *d;
+   PrivateHashes * const d;
 
    public:
    /* those will disappear in the future as it is hard to add new ones this way.
 
    public:
    /* those will disappear in the future as it is hard to add new ones this way.