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