1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_PREFS_PREF_HASH_STORE_H_ 6 #define CHROME_BROWSER_PREFS_PREF_HASH_STORE_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 10 class HashStoreContents; 11 class PrefHashStoreTransaction; 12 13 // Holds the configuration and implementation used to calculate and verify 14 // preference MACs. 15 // TODO(gab): Rename this class as it is no longer a store. 16 class PrefHashStore { 17 public: 18 virtual ~PrefHashStore() {} 19 20 // Returns a PrefHashStoreTransaction which can be used to perform a series 21 // of operations on the hash store. |storage| MAY be used as the backing store 22 // depending on the implementation. Therefore the HashStoreContents used for 23 // related transactions should correspond to the same underlying data store. 24 virtual scoped_ptr<PrefHashStoreTransaction> BeginTransaction( 25 scoped_ptr<HashStoreContents> storage) = 0; 26 }; 27 28 #endif // CHROME_BROWSER_PREFS_PREF_HASH_STORE_H_ 29