Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 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 module prefs.mojom; | |
| 6 | |
| 7 // A Preference could be one of several base types. PrefStore utilizes | |
| 8 // base::Value to encompass these. TODO(jonross): create struct traits so that | |
| 9 // we can pass base::Value via mojo. | |
| 10 struct Preference { | |
| 11 enum PreferenceType { INT, STRING }; | |
| 12 | |
| 13 PreferenceType type; | |
| 14 uint32 integer_value_; | |
| 15 string? string_value_; | |
| 16 }; | |
| 17 | |
| 18 // A list of preference keys. | |
| 19 struct PreferenceList { | |
| 20 array<string> preferences; | |
| 21 }; | |
|
sadrul
2016/07/25 15:32:18
Do you need this if you use use_new_wrapper_types?
jonross
2016/07/26 19:27:37
Done.
| |
| 22 | |
| 23 // A key-value mapping of preferences. | |
| 24 struct PreferenceMap { | |
| 25 map<string, Preference> preferences; | |
| 26 }; | |
|
sadrul
2016/07/25 15:32:18
ditto
jonross
2016/07/26 19:27:36
Done.
| |
| 27 | |
| 28 // Used to subscribe to preference changes within PreferenceManager. After | |
| 29 // requesting to observe, the current values for all requested keys are sent. | |
| 30 interface PreferenceObserver { | |
| 31 OnPreferencesChanged(PreferenceMap preferences); | |
| 32 }; | |
| 33 | |
| 34 // Manages actual read/write of preference data. Accepts observers who subscribe | |
| 35 // to preferences, notifying them of changes. | |
| 36 interface PreferenceManager { | |
| 37 AddObserver(PreferenceList preferences, PreferenceObserver client); | |
| 38 SetPreferences(PreferenceMap preferences); | |
| 39 }; | |
| OLD | NEW |