| OLD | NEW |
| 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.mojom; | 5 module content.mojom; |
| 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 | |
| 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 | |
| 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 | |
| 15 // the various LevelDBWrapper methods. | |
| 16 // Note that observer methods are called before the callbacks for the | 10 // Note that observer methods are called before the callbacks for the |
| 17 // LevelDBWrapper methods are run. | 11 // LevelDBWrapper methods are run. |
| 18 interface LevelDBObserver { | 12 interface LevelDBObserver { |
| 13 KeyAdded(array<uint8> key, array<uint8> value, string source); |
| 19 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value, | 14 KeyChanged(array<uint8> key, array<uint8> new_value, array<uint8> old_value, |
| 20 string source); | 15 string source); |
| 21 KeyDeleted(array<uint8> key, array<uint8> old_value, string source); | 16 KeyDeleted(array<uint8> key, array<uint8> old_value, string source); |
| 22 AllDeleted(string source); | 17 AllDeleted(string source); |
| 18 |
| 19 // Since the GetAll call is synchronous, observers need this asynchronously |
| 20 // delivered notification to avoid applying changes to the returned array |
| 21 // that it already contains. |
| 22 GetAllComplete(string source); |
| 23 }; | 23 }; |
| 24 | 24 |
| 25 struct KeyValue { | 25 struct KeyValue { |
| 26 array<uint8> key; | 26 array<uint8> key; |
| 27 array<uint8> value; | 27 array<uint8> value; |
| 28 }; | 28 }; |
| 29 | 29 |
| 30 // A wrapper around leveldb that supports giving notifications when values | 30 // A wrapper around leveldb that supports giving notifications when values |
| 31 // change. | 31 // change. |
| 32 interface LevelDBWrapper { | 32 interface LevelDBWrapper { |
| 33 // Sets the database entry for |key| to |value|. Returns OK on success. | 33 // Sets the database entry for |key| to |value|. Returns OK on success. |
| 34 Put(array<uint8> key, array<uint8> value, string source) | 34 Put(array<uint8> key, array<uint8> value, string source) => (bool success); |
| 35 => (leveldb.DatabaseError status); | |
| 36 | 35 |
| 37 // Remove the database entry (if any) for |key|. Returns OK on success, and a | 36 // 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 | 37 // non-OK status on error. It is not an error if |key| did not exist in the |
| 39 // database. | 38 // database. |
| 40 Delete(array<uint8> key, string source) => (leveldb.DatabaseError status); | 39 Delete(array<uint8> key, string source) => (bool success); |
| 41 | 40 |
| 42 // Removes all the entries. | 41 // Removes all the entries. |
| 43 DeleteAll(LevelDBObserver observer, string source) | 42 DeleteAll(string source) => (bool success); |
| 44 => (leveldb.DatabaseError status); | |
| 45 | 43 |
| 46 // Returns the value of the |key|. | 44 // Returns the value of the |key|. |
| 47 Get(array<uint8> key) => (leveldb.DatabaseError status, array<uint8> value); | 45 Get(array<uint8> key) => (bool success, array<uint8> value); |
| 48 | 46 |
| 49 // Only used with small databases. Returns all key/value pairs. | 47 // Only used with small databases. Returns all key/value pairs. |
| 50 [Sync] | 48 [Sync] |
| 51 GetAll(LevelDBObserver observer) | 49 GetAll(string source) |
| 52 => (leveldb.DatabaseError status, array<KeyValue> data); | 50 => (leveldb.DatabaseError status, array<KeyValue> data); |
| 53 }; | 51 }; |
| OLD | NEW |