| OLD | NEW | 
|   1 // Copyright 2012 The Chromium Authors. All rights reserved. |   1 // Copyright 2012 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 #ifndef SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ |   5 #ifndef SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ | 
|   6 #define SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ |   6 #define SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ | 
|   7  |   7  | 
|   8 #include "sync/syncable/directory_backing_store.h" |   8 #include "sync/syncable/directory_backing_store.h" | 
|   9 #include "sync/base/sync_export.h" |   9 #include "sync/base/sync_export.h" | 
|  10  |  10  | 
|  11 namespace syncer { |  11 namespace syncer { | 
|  12 namespace syncable { |  12 namespace syncable { | 
|  13  |  13  | 
|  14 // This implementation of DirectoryBackingStore is used in tests that do not |  14 // This implementation of DirectoryBackingStore is used in tests that do not | 
|  15 // require us to write to a file.  An in-memory sqlite database is much faster |  15 // require us to write to a file.  An in-memory sqlite database is much faster | 
|  16 // than an on-disk database, so this can result in significant speedups in our |  16 // than an on-disk database, so this can result in significant speedups in our | 
|  17 // unit tests. |  17 // unit tests. | 
|  18 // |  18 // | 
|  19 // An InMemoryDirectoryBackingStore cannot load data from existing databases. |  19 // An InMemoryDirectoryBackingStore cannot load data from existing databases. | 
|  20 // When an InMemoryDirectoryBackingStore is destroyed, all data stored in this |  20 // When an InMemoryDirectoryBackingStore is destroyed, all data stored in this | 
|  21 // database is lost.  If these limitations are a problem for you, consider using |  21 // database is lost.  If these limitations are a problem for you, consider using | 
|  22 // TestDirectoryBackingStore. |  22 // TestDirectoryBackingStore. | 
|  23 class SYNC_EXPORT_PRIVATE InMemoryDirectoryBackingStore |  23 class SYNC_EXPORT_PRIVATE InMemoryDirectoryBackingStore | 
|  24     : public DirectoryBackingStore { |  24     : public DirectoryBackingStore { | 
|  25  public: |  25  public: | 
|  26   explicit InMemoryDirectoryBackingStore(const std::string& dir_name); |  26   explicit InMemoryDirectoryBackingStore(const std::string& dir_name); | 
|  27   virtual DirOpenResult Load( |  27   virtual DirOpenResult Load( | 
|  28       Directory::MetahandlesMap* handles_map, |  28       Directory::MetahandlesMap* handles_map, | 
|  29       JournalIndex* delete_journals, |  29       JournalIndex* delete_journals, | 
|  30       Directory::KernelLoadInfo* kernel_load_info) OVERRIDE; |  30       Directory::KernelLoadInfo* kernel_load_info) override; | 
|  31  |  31  | 
|  32   void request_consistent_cache_guid() { |  32   void request_consistent_cache_guid() { | 
|  33     consistent_cache_guid_requested_ = true; |  33     consistent_cache_guid_requested_ = true; | 
|  34   } |  34   } | 
|  35  |  35  | 
|  36  private: |  36  private: | 
|  37   bool consistent_cache_guid_requested_; |  37   bool consistent_cache_guid_requested_; | 
|  38  |  38  | 
|  39   DISALLOW_COPY_AND_ASSIGN(InMemoryDirectoryBackingStore); |  39   DISALLOW_COPY_AND_ASSIGN(InMemoryDirectoryBackingStore); | 
|  40 }; |  40 }; | 
|  41  |  41  | 
|  42 }  // namespace syncable |  42 }  // namespace syncable | 
|  43 }  // namespace syncer |  43 }  // namespace syncer | 
|  44  |  44  | 
|  45 #endif  // SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ |  45 #endif  // SYNC_SYNCABLE_IN_MEMORY_DIRECTORY_BACKING_STORE_H_ | 
| OLD | NEW |