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

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

Issue 2601873002: Add a mojo bridge for PersistentPrefStore. (Closed)
Patch Set: 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 {
32 SetValue(string key, mojo.common.mojom.Value value, uint32 flags);
33 RemoveValue(string key, uint32 flags);
34
35 CommitPendingWrite();
36 SchedulePendingLossyWrites();
37 ClearMutableValues();
38 };
39
40 interface PersistentPrefStoreConnector {
41 enum ReadError {
42 NONE = 0,
43 JSON_PARSE = 1,
44 JSON_TYPE = 2,
45 ACCESS_DENIED = 3,
46 FILE_OTHER = 4,
47 FILE_LOCKED = 5,
48 NO_FILE = 6,
49 JSON_REPEAT = 7,
50 // OTHER = 8, // Deprecated.
51 FILE_NOT_SPECIFIED = 9,
52 ASYNCHRONOUS_TASK_INCOMPLETE = 10,
53 };
54
55 [Sync]
56 Connect() => (
57 ReadError read_error,
58 bool read_only,
59 mojo.common.mojom.DictionaryValue? preferences,
60 PersistentPrefStore? pref_store);
61 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698