Index: chrome/browser/prefs/pref_hash_store_transaction.h |
diff --git a/chrome/browser/prefs/pref_hash_store_transaction.h b/chrome/browser/prefs/pref_hash_store_transaction.h |
index 10022aae836311844aca1cd31ea2769453f5ab4d..9a31c15bb610d2f7b74f739935367db1027ec3f5 100644 |
--- a/chrome/browser/prefs/pref_hash_store_transaction.h |
+++ b/chrome/browser/prefs/pref_hash_store_transaction.h |
@@ -67,6 +67,28 @@ class PrefHashStoreTransaction { |
virtual void StoreSplitHash( |
const std::string& path, |
const base::DictionaryValue* split_value) = 0; |
+ |
+ // Retrieves the stored hash for the preference at |path|. If there is no |
+ // stored hash the result is NULL. If |path| is a split preference the result |
+ // is a DictionaryValue whose keys are keys in the split preference and whose |
+ // values are MACs of the corresponding values in the split preference. |
+ // Otherwise the result is a StringValue containing a MAC of the preference |
+ // value. |
+ virtual const base::Value* GetHash(const std::string& path) const = 0; |
+ |
+ // Sets the hash for the preference at |path|. |hash| may be a |
+ // DictionaryValue or StringValue as returned by GetHash() or it may be NULL |
+ // (which will clear any previously stored MAC). |
+ // The (in)validity of the super MAC will be maintained by this call. |
+ virtual void ImportHash(const std::string& path, const base::Value* hash) = 0; |
+ |
+ // Removes the stored hash for the preference at |path|. The (in)validity of |
+ // the super MAC will be maintained by this call. |
+ virtual void ClearHash(const std::string& path) = 0; |
+ |
+ // Forces the super MAC (if used by this store) to be updated. Returns true if |
+ // this results in a change to the store contents. |
+ virtual bool StampSuperMac() = 0; |
}; |
#endif // CHROME_BROWSER_PREFS_PREF_HASH_STORE_TRANSACTION_H_ |