OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
82 const std::string error_; | 82 const std::string error_; |
83 | 83 |
84 private: | 84 private: |
85 friend class base::RefCountedThreadSafe<Inner>; | 85 friend class base::RefCountedThreadSafe<Inner>; |
86 virtual ~Inner(); | 86 virtual ~Inner(); |
87 }; | 87 }; |
88 | 88 |
89 scoped_refptr<Inner> inner_; | 89 scoped_refptr<Inner> inner_; |
90 }; | 90 }; |
91 | 91 |
92 // Options for write operations. | |
93 enum WriteOptions { | |
not at google - send to devlin
2011/11/17 07:02:53
Change #2: the WriteOptions enum and changes to th
| |
94 // Callers should usually use this. | |
95 DEFAULTS, | |
96 | |
97 // Ignore restrictions, such as quota. It is still possible for the | |
98 // operation to fail, such as on hard drive failure or if the storage area | |
99 // is configured to fail. | |
100 FORCE | |
101 }; | |
102 | |
92 virtual ~SettingsStorage() {} | 103 virtual ~SettingsStorage() {} |
93 | 104 |
94 // Gets a single value from storage. | 105 // Gets a single value from storage. |
95 virtual ReadResult Get(const std::string& key) = 0; | 106 virtual ReadResult Get(const std::string& key) = 0; |
96 | 107 |
97 // Gets multiple values from storage. | 108 // Gets multiple values from storage. |
98 virtual ReadResult Get(const std::vector<std::string>& keys) = 0; | 109 virtual ReadResult Get(const std::vector<std::string>& keys) = 0; |
99 | 110 |
100 // Gets all values from storage. | 111 // Gets all values from storage. |
101 virtual ReadResult Get() = 0; | 112 virtual ReadResult Get() = 0; |
102 | 113 |
103 // Sets a single key to a new value. | 114 // Sets a single key to a new value. |
104 virtual WriteResult Set(const std::string& key, const Value& value) = 0; | 115 virtual WriteResult Set( |
116 WriteOptions options, const std::string& key, const Value& value) = 0; | |
105 | 117 |
106 // Sets multiple keys to new values. | 118 // Sets multiple keys to new values. |
107 virtual WriteResult Set(const DictionaryValue& values) = 0; | 119 virtual WriteResult Set( |
120 WriteOptions options, const DictionaryValue& values) = 0; | |
108 | 121 |
109 // Removes a key from the storage. | 122 // Removes a key from the storage. |
110 virtual WriteResult Remove(const std::string& key) = 0; | 123 virtual WriteResult Remove( |
124 WriteOptions options, const std::string& key) = 0; | |
111 | 125 |
112 // Removes multiple keys from the storage. | 126 // Removes multiple keys from the storage. |
113 virtual WriteResult Remove(const std::vector<std::string>& keys) = 0; | 127 virtual WriteResult Remove( |
128 WriteOptions options, const std::vector<std::string>& keys) = 0; | |
114 | 129 |
115 // Clears the storage. | 130 // Clears the storage. |
116 virtual WriteResult Clear() = 0; | 131 virtual WriteResult Clear(WriteOptions options) = 0; |
117 }; | 132 }; |
118 | 133 |
119 } // namespace extensions | 134 } // namespace extensions |
120 | 135 |
121 #endif // CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ | 136 #endif // CHROME_BROWSER_EXTENSIONS_SETTINGS_SETTINGS_STORAGE_H_ |
OLD | NEW |