Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(179)

Side by Side Diff: services/preferences/public/interfaces/preferences.mojom

Issue 2601873002: Add a mojo bridge for PersistentPrefStore. (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module prefs.mojom; 5 module prefs.mojom;
6 6
7 import "mojo/common/values.mojom"; 7 import "mojo/common/values.mojom";
8 8
9 const string kServiceName = "preferences"; 9 const string kServiceName = "preferences";
10 10
11 // Used for the creation of a PreferencesService and to ensure that the 11 // Used for the creation of a PreferencesService and to ensure that the
12 // PreferencesServiceClient is bound at creation time. 12 // PreferencesServiceClient is bound at creation time.
13 interface PreferencesServiceFactory { 13 interface PreferencesServiceFactory {
14 // Creates a PreferencesService bound to the provided |observer|. 14 // Creates a PreferencesService bound to the provided |observer|.
15 Create(PreferencesServiceClient observer, PreferencesService& service); 15 Create(PreferencesServiceClient observer, PreferencesService& service);
16 }; 16 };
17 17
18 // Used to subscribe to preference changes within PreferenceManager. After 18 // Used to subscribe to preference changes within PreferenceManager. After
19 // requesting to observe, the current values for all requested keys are sent. 19 // requesting to observe, the current values for all requested keys are sent.
20 interface PreferencesServiceClient { 20 interface PreferencesServiceClient {
21 OnPreferencesChanged(mojo.common.mojom.DictionaryValue preferences); 21 OnPreferencesChanged(mojo.common.mojom.DictionaryValue preferences);
22 }; 22 };
23 23
24 // Manages actual read/write of preference data. Accepts observers who subscribe 24 // Manages actual read/write of preference data. Accepts observers who subscribe
25 // to preferences, notifying them of changes. 25 // to preferences, notifying them of changes.
26 interface PreferencesService { 26 interface PreferencesService {
27 SetPreferences(mojo.common.mojom.DictionaryValue preferences); 27 SetPreferences(mojo.common.mojom.DictionaryValue preferences);
28 Subscribe(array<string> preferences); 28 Subscribe(array<string> preferences);
29 }; 29 };
30
31 interface PersistentPrefStore {
tibell 2017/03/08 03:39:54 Document.
32 SetValue(string key, mojo.common.mojom.Value? value, uint32 flags);
tibell 2017/03/08 03:39:54 Here you at least want to say that a null |value|
33
34 CommitPendingWrite();
35 SchedulePendingLossyWrites();
36 ClearMutableValues();
37 };
38
39 interface PersistentPrefStoreConnector {
40 enum ReadError {
41 NONE = 0,
42 JSON_PARSE = 1,
43 JSON_TYPE = 2,
44 ACCESS_DENIED = 3,
45 FILE_OTHER = 4,
46 FILE_LOCKED = 5,
47 NO_FILE = 6,
48 JSON_REPEAT = 7,
49 // OTHER = 8, // Deprecated.
50 FILE_NOT_SPECIFIED = 9,
51 ASYNCHRONOUS_TASK_INCOMPLETE = 10,
52 };
53
54 [Sync]
55 Connect() => (
56 ReadError read_error,
57 bool read_only,
58 mojo.common.mojom.DictionaryValue? preferences,
tibell 2017/03/08 03:39:54 I believe null here implies initialization failure
59 PersistentPrefStore? pref_store);
60 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698