in_memory_directory_backing_store.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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#ifndef SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ 6#define SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ 7 8#include "sync/syncable/directory_backing_store.h" 9 10namespace syncer { 11namespace syncable { 12 13// This implementation of DirectoryBackingStore is used in tests that do not 14// require us to write to a file. An in-memory sqlite database is much faster 15// than an on-disk database, so this can result in significant speedups in our 16// unit tests. 17// 18// An InMemoryDirectoryBackingStore cannot load data from existing databases. 19// When an InMemoryDirectoryBackingStore is destroyed, all data stored in this 20// database is lost. If these limitations are a problem for you, consider using 21// TestDirectoryBackingStore. 22class InMemoryDirectoryBackingStore : public DirectoryBackingStore { 23 public: 24 explicit InMemoryDirectoryBackingStore(const std::string& dir_name); 25 virtual DirOpenResult Load( 26 MetahandlesIndex* entry_bucket, 27 Directory::KernelLoadInfo* kernel_load_info) OVERRIDE; 28}; 29 30} // namespace syncable 31} // namespace syncer 32 33#endif // SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ 34