| 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 }; |
| 22 |
| 23 // A key-value mapping of preferences. |
| 24 struct PreferenceMap { |
| 25 map<string, Preference> preferences; |
| 26 }; |
| 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 |