Chromium Code Reviews| Index: services/preferences/public/interfaces/preferences.mojom |
| diff --git a/services/preferences/public/interfaces/preferences.mojom b/services/preferences/public/interfaces/preferences.mojom |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..91546ea35c98dc6946e62da918758fd7731a892c |
| --- /dev/null |
| +++ b/services/preferences/public/interfaces/preferences.mojom |
| @@ -0,0 +1,29 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +module prefs.mojom; |
| + |
| +// A Preference could be one of several base types. PrefStore utilizes |
| +// base::Value to encompass these. TODO(jonross): create struct traits so that |
| +// we can pass base::Value via mojo. |
| +struct Preference { |
| + enum PreferenceType { INT, STRING }; |
| + |
| + PreferenceType type; |
| + uint32 integer_value_; |
| + string? string_value_; |
| +}; |
|
Elliot Glaysher
2016/07/26 21:11:58
If you're only supporting integers and strings her
jonross
2016/07/26 21:37:35
I started with int/string to cover the test case o
|
| + |
| +// Used to subscribe to preference changes within PreferenceManager. After |
| +// requesting to observe, the current values for all requested keys are sent. |
| +interface PreferenceObserver { |
| + OnPreferencesChanged(map<string, Preference> preferences); |
| +}; |
| + |
| +// Manages actual read/write of preference data. Accepts observers who subscribe |
| +// to preferences, notifying them of changes. |
| +interface PreferenceManager { |
| + AddObserver(array<string> preferences, PreferenceObserver client); |
| + SetPreferences(map<string, Preference> preferences); |
| +}; |