Home | History | Annotate | Download | only in prefs
      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