1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/browser/indexed_db/leveldb/leveldb_write_batch.h" 6 7 #include "base/strings/string_piece.h" 8 #include "third_party/leveldatabase/src/include/leveldb/slice.h" 9 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" 10 11 namespace content { 12 Create()13scoped_ptr<LevelDBWriteBatch> LevelDBWriteBatch::Create() { 14 return make_scoped_ptr(new LevelDBWriteBatch); 15 } 16 LevelDBWriteBatch()17LevelDBWriteBatch::LevelDBWriteBatch() 18 : write_batch_(new leveldb::WriteBatch) {} 19 ~LevelDBWriteBatch()20LevelDBWriteBatch::~LevelDBWriteBatch() {} 21 MakeSlice(const base::StringPiece & s)22static leveldb::Slice MakeSlice(const base::StringPiece& s) { 23 return leveldb::Slice(s.begin(), s.size()); 24 } 25 Put(const base::StringPiece & key,const base::StringPiece & value)26void LevelDBWriteBatch::Put(const base::StringPiece& key, 27 const base::StringPiece& value) { 28 write_batch_->Put(MakeSlice(key), MakeSlice(value)); 29 } 30 Remove(const base::StringPiece & key)31void LevelDBWriteBatch::Remove(const base::StringPiece& key) { 32 write_batch_->Delete(MakeSlice(key)); 33 } 34 Clear()35void LevelDBWriteBatch::Clear() { write_batch_->Clear(); } 36 37 } // namespace content 38