leveldb_write_batch.cc revision 868fa2fe829687343ffae624259930155e16dbd8
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 "content/browser/indexed_db/leveldb/leveldb_slice.h" 8#include "third_party/leveldatabase/src/include/leveldb/slice.h" 9#include "third_party/leveldatabase/src/include/leveldb/write_batch.h" 10 11namespace content { 12 13scoped_ptr<LevelDBWriteBatch> LevelDBWriteBatch::Create() { 14 return make_scoped_ptr(new LevelDBWriteBatch); 15} 16 17LevelDBWriteBatch::LevelDBWriteBatch() 18 : write_batch_(new leveldb::WriteBatch) {} 19 20LevelDBWriteBatch::~LevelDBWriteBatch() {} 21 22static leveldb::Slice MakeSlice(const LevelDBSlice& s) { 23 return leveldb::Slice(s.begin(), s.end() - s.begin()); 24} 25 26void LevelDBWriteBatch::Put(const LevelDBSlice& key, 27 const LevelDBSlice& value) { 28 write_batch_->Put(MakeSlice(key), MakeSlice(value)); 29} 30 31void LevelDBWriteBatch::Remove(const LevelDBSlice& key) { 32 write_batch_->Delete(MakeSlice(key)); 33} 34 35void LevelDBWriteBatch::Clear() { write_batch_->Clear(); } 36 37} // namespace content 38