X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/c8d80b1d346c9c24f897813d5793e69bb59e465b..3d43e5390d83a95b08d09e8b811523f2d99a092c:/apt-pkg/contrib/hashes.h

diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h
index eefa7bf41..264f7fe90 100644
--- a/apt-pkg/contrib/hashes.h
+++ b/apt-pkg/contrib/hashes.h
@@ -13,17 +13,45 @@
 #ifndef APTPKG_HASHES_H
 #define APTPKG_HASHES_H
 
-#ifdef __GNUG__
-#pragma interface "apt-pkg/hashes.h"
-#endif 
 
 #include <apt-pkg/md5.h>
 #include <apt-pkg/sha1.h>
 #include <apt-pkg/sha256.h>
 
 #include <algorithm>
+#include <vector>
+#include <cstring>
 
 using std::min;
+using std::vector;
+
+// helper class that contains hash function name
+// and hash
+class HashString
+{
+ protected:
+   string Type;
+   string Hash;
+   static const char * _SupportedHashes[10];
+
+ public:
+   HashString(string Type, string Hash);
+   HashString(string StringedHashString);  // init from str as "type:hash"
+   HashString();
+
+   // get hash type used
+   string HashType() { return Type; };
+
+   // verify the given filename against the currently loaded hash
+   bool VerifyFile(string filename) const;
+
+   // helper
+   string toStr() const;                    // convert to str as "type:hash"
+   bool empty() const;
+
+   // return the list of hashes we support
+   static const char** SupportedHashes();
+};
 
 class Hashes
 {