Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / browser / prefs / tracked / dictionary_hash_store_contents.h
blobfc29db59037b28e9f6934d40dde97eec062425c5
1 // Copyright 2014 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.
5 #ifndef CHROME_BROWSER_PREFS_TRACKED_DICTIONARY_HASH_STORE_CONTENTS_H_
6 #define CHROME_BROWSER_PREFS_TRACKED_DICTIONARY_HASH_STORE_CONTENTS_H_
8 #include "base/compiler_specific.h"
9 #include "base/macros.h"
10 #include "chrome/browser/prefs/tracked/hash_store_contents.h"
12 namespace base {
13 class DictionaryValue;
14 } // namespace base
16 namespace user_prefs {
17 class PrefRegistrySyncable;
18 } // namespace user_prefs
20 // Implements HashStoreContents by storing MACs in a DictionaryValue. The
21 // DictionaryValue is presumed to be the contents of a PrefStore.
22 // RegisterProfilePrefs() may be used to register all of the preferences used by
23 // this object.
24 class DictionaryHashStoreContents : public HashStoreContents {
25 public:
26 // Constructs a DictionaryHashStoreContents that reads from and writes to
27 // |storage|.
28 explicit DictionaryHashStoreContents(base::DictionaryValue* storage);
30 // Registers required preferences.
31 static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
33 // HashStoreContents implementation
34 std::string hash_store_id() const override;
35 void Reset() override;
36 bool IsInitialized() const override;
37 const base::DictionaryValue* GetContents() const override;
38 scoped_ptr<MutableDictionary> GetMutableContents() override;
39 std::string GetSuperMac() const override;
40 void SetSuperMac(const std::string& super_mac) override;
42 private:
43 base::DictionaryValue* storage_;
45 DISALLOW_COPY_AND_ASSIGN(DictionaryHashStoreContents);
48 #endif // CHROME_BROWSER_PREFS_TRACKED_DICTIONARY_HASH_STORE_CONTENTS_H_