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 10class HashStoreContents; 11class 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. 16class 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