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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.cc

Issue 1873683002: Convert //chrome/browser/sync_file_system from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.h" 5 #include "chrome/browser/sync_file_system/drive_backend/leveldb_wrapper.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/memory/ptr_util.h"
13 #include "third_party/leveldatabase/src/include/leveldb/db.h" 14 #include "third_party/leveldatabase/src/include/leveldb/db.h"
14 #include "third_party/leveldatabase/src/include/leveldb/iterator.h" 15 #include "third_party/leveldatabase/src/include/leveldb/iterator.h"
15 #include "third_party/leveldatabase/src/include/leveldb/slice.h" 16 #include "third_party/leveldatabase/src/include/leveldb/slice.h"
16 #include "third_party/leveldatabase/src/include/leveldb/status.h" 17 #include "third_party/leveldatabase/src/include/leveldb/status.h"
17 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" 18 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h"
18 19
19 namespace sync_file_system { 20 namespace sync_file_system {
20 namespace drive_backend { 21 namespace drive_backend {
21 22
22 LevelDBWrapper::Iterator::Iterator(LevelDBWrapper* db) 23 LevelDBWrapper::Iterator::Iterator(LevelDBWrapper* db)
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 return; 138 return;
138 139
139 while (map_iterator_ != db_->pending_.end() && 140 while (map_iterator_ != db_->pending_.end() &&
140 map_iterator_->second.first == DELETE_OPERATION) 141 map_iterator_->second.first == DELETE_OPERATION)
141 ++map_iterator_; 142 ++map_iterator_;
142 } 143 }
143 144
144 // --------------------------------------------------------------------------- 145 // ---------------------------------------------------------------------------
145 // LevelDBWrapper class 146 // LevelDBWrapper class
146 // --------------------------------------------------------------------------- 147 // ---------------------------------------------------------------------------
147 LevelDBWrapper::LevelDBWrapper(scoped_ptr<leveldb::DB> db) 148 LevelDBWrapper::LevelDBWrapper(std::unique_ptr<leveldb::DB> db)
148 : db_(std::move(db)), num_puts_(0), num_deletes_(0) { 149 : db_(std::move(db)), num_puts_(0), num_deletes_(0) {
149 DCHECK(db_); 150 DCHECK(db_);
150 } 151 }
151 152
152 LevelDBWrapper::~LevelDBWrapper() {} 153 LevelDBWrapper::~LevelDBWrapper() {}
153 154
154 void LevelDBWrapper::Put(const std::string& key, const std::string& value) { 155 void LevelDBWrapper::Put(const std::string& key, const std::string& value) {
155 pending_[key] = Transaction(PUT_OPERATION, value); 156 pending_[key] = Transaction(PUT_OPERATION, value);
156 ++num_puts_; 157 ++num_puts_;
157 } 158 }
(...skipping 14 matching lines...) Expand all
172 case PUT_OPERATION: 173 case PUT_OPERATION:
173 *value = transaction.second; 174 *value = transaction.second;
174 return leveldb::Status(); 175 return leveldb::Status();
175 case DELETE_OPERATION: 176 case DELETE_OPERATION:
176 return leveldb::Status::NotFound(leveldb::Slice()); 177 return leveldb::Status::NotFound(leveldb::Slice());
177 } 178 }
178 NOTREACHED(); 179 NOTREACHED();
179 return leveldb::Status::NotSupported("Not supported operation."); 180 return leveldb::Status::NotSupported("Not supported operation.");
180 } 181 }
181 182
182 scoped_ptr<LevelDBWrapper::Iterator> LevelDBWrapper::NewIterator() { 183 std::unique_ptr<LevelDBWrapper::Iterator> LevelDBWrapper::NewIterator() {
183 return make_scoped_ptr(new Iterator(this)); 184 return base::WrapUnique(new Iterator(this));
184 } 185 }
185 186
186 leveldb::Status LevelDBWrapper::Commit() { 187 leveldb::Status LevelDBWrapper::Commit() {
187 leveldb::WriteBatch batch; 188 leveldb::WriteBatch batch;
188 for (PendingOperationMap::iterator itr = pending_.begin(); 189 for (PendingOperationMap::iterator itr = pending_.begin();
189 itr != pending_.end(); ++itr) { 190 itr != pending_.end(); ++itr) {
190 const leveldb::Slice key(itr->first); 191 const leveldb::Slice key(itr->first);
191 const Transaction& transaction = itr->second; 192 const Transaction& transaction = itr->second;
192 switch (transaction.first) { 193 switch (transaction.first) {
193 case PUT_OPERATION: 194 case PUT_OPERATION:
(...skipping 18 matching lines...) Expand all
212 num_puts_ = 0; 213 num_puts_ = 0;
213 num_deletes_ = 0; 214 num_deletes_ = 0;
214 } 215 }
215 216
216 leveldb::DB* LevelDBWrapper::GetLevelDB() { 217 leveldb::DB* LevelDBWrapper::GetLevelDB() {
217 return db_.get(); 218 return db_.get();
218 } 219 }
219 220
220 } // namespace drive_backend 221 } // namespace drive_backend
221 } // namespace sync_file_system 222 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698