+// helper class that contains hash function name
+// and hash
+class HashString
+{
+ protected:
+ std::string Type;
+ std::string Hash;
+ static const char * _SupportedHashes[10];
+
+ public:
+ HashString(std::string Type, std::string Hash);
+ HashString(std::string StringedHashString); // init from str as "type:hash"
+ HashString();
+
+ // get hash type used
+ std::string HashType() { return Type; };
+
+ // verify the given filename against the currently loaded hash
+ bool VerifyFile(std::string filename) const;
+
+ // helper
+ std::string toStr() const; // convert to str as "type:hash"
+ bool empty() const;
+
+ // return the list of hashes we support
+ static const char** SupportedHashes();
+};