Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / prefs / tracked / pref_hash_store.h
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_TRACKED_PREF_HASH_STORE_H_
6 #define CHROME_BROWSER_PREFS_TRACKED_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_TRACKED_PREF_HASH_STORE_H_