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

Side by Side Diff: content/common/leveldb_wrapper.mojom

Issue 1837883003: Some fleshing out the mojo based localstorage implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: long lived observer Created 4 years, 8 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 content; 5 module content;
6 6
7 import "components/leveldb/public/interfaces/leveldb.mojom"; 7 import "components/leveldb/public/interfaces/leveldb.mojom";
8 8
9 // Gives information about changes to a LevelDB database. 9 // Gives information about changes to a LevelDB database.
10 // The reason this is a parameter to DeleteAll and GetAll below, instead of 10 // The reason this is a parameter to DeleteAll and GetAll below, instead of
11 // being specified when opening a LevelDBWrapper, is to avoid the client getting 11 // being specified when opening a LevelDBWrapper, is to avoid the client getting
12 // callbacks for changes that have already been applied to its database that 12 // callbacks for changes that have already been applied to its database that
13 // it's fetching via GetAll or it's clearing via DeleteAll. 13 // it's fetching via GetAll or it's clearing via DeleteAll.
14 // In the methods below, |source| is a user-defined string which was passed to 14 // In the methods below, |source| is a user-defined string which was passed to
15 // the various LevelDBWrapper methods. 15 // the various LevelDBWrapper methods.
16 // Note that observer methods are called before the callbacks for the 16 // Note that observer methods are called before the callbacks for the
17 // LevelDBWrapper methods are run. 17 // LevelDBWrapper methods are run.
18 interface LevelDBObserver { 18 interface LevelDBObserver {
19 KeyAdded(array<uint8> key, array<uint8> value, string source);
19 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value, 20 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value,
20 string source); 21 string source);
21 KeyDeleted(array<uint8> key, array<uint8> old_value, string source); 22 KeyDeleted(array<uint8> key, array<uint8> old_value, string source);
22 AllDeleted(string source); 23 AllDeleted(string source);
24 GetAllComplete(uint64 request_id);
23 }; 25 };
24 26
25 struct KeyValue { 27 struct KeyValue {
26 array<uint8> key; 28 array<uint8> key;
27 array<uint8> value; 29 array<uint8> value;
28 }; 30 };
29 31
30 // A wrapper around leveldb that supports giving notifications when values 32 // A wrapper around leveldb that supports giving notifications when values
31 // change. 33 // change.
32 interface LevelDBWrapper { 34 interface LevelDBWrapper {
35 AddObserver(LevelDBObserver observer);
36
33 // Sets the database entry for |key| to |value|. Returns OK on success. 37 // Sets the database entry for |key| to |value|. Returns OK on success.
34 Put(array<uint8> key, array<uint8> value, string source) 38 Put(array<uint8> key, array<uint8> value, string source) => (bool success);
35 => (leveldb.DatabaseError status);
36 39
37 // Remove the database entry (if any) for |key|. Returns OK on success, and a 40 // Remove the database entry (if any) for |key|. Returns OK on success, and a
38 // non-OK status on error. It is not an error if |key| did not exist in the 41 // non-OK status on error. It is not an error if |key| did not exist in the
39 // database. 42 // database.
40 Delete(array<uint8> key, string source) => (leveldb.DatabaseError status); 43 Delete(array<uint8> key, string source) => (bool success);
41 44
42 // Removes all the entries. 45 // Removes all the entries.
43 DeleteAll(LevelDBObserver observer, string source) 46 DeleteAll(string source) => (bool success);
44 => (leveldb.DatabaseError status);
45
46 // Returns the value of the |key|.
47 Get(array<uint8> key) => (leveldb.DatabaseError status, array<uint8> value);
48 47
49 // Only used with small databases. Returns all key/value pairs. 48 // Only used with small databases. Returns all key/value pairs.
50 [Sync] 49 [Sync]
51 GetAll(LevelDBObserver observer) 50 GetAll(uint64 reqeust_id)
52 => (leveldb.DatabaseError status, array<KeyValue> data); 51 => (leveldb.DatabaseError status, array<KeyValue> data);
53 }; 52 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698