1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file. 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/browser/indexed_db/leveldb/leveldb_write_batch.h" 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "base/strings/string_piece.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/leveldatabase/src/include/leveldb/slice.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/leveldatabase/src/include/leveldb/write_batch.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace content { 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)scoped_ptr<LevelDBWriteBatch> LevelDBWriteBatch::Create() { 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) return make_scoped_ptr(new LevelDBWriteBatch); 15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)LevelDBWriteBatch::LevelDBWriteBatch() 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) : write_batch_(new leveldb::WriteBatch) {} 19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)LevelDBWriteBatch::~LevelDBWriteBatch() {} 21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochstatic leveldb::Slice MakeSlice(const base::StringPiece& s) { 237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch return leveldb::Slice(s.begin(), s.size()); 24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid LevelDBWriteBatch::Put(const base::StringPiece& key, 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch const base::StringPiece& value) { 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) write_batch_->Put(MakeSlice(key), MakeSlice(value)); 29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid LevelDBWriteBatch::Remove(const base::StringPiece& key) { 32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) write_batch_->Delete(MakeSlice(key)); 33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 34868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 35868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)void LevelDBWriteBatch::Clear() { write_batch_->Clear(); } 36868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 37868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} // namespace content 38