OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 #include "sync/internal_api/public/test/test_internal_components_factory.h" | 5 #include "sync/internal_api/public/test/test_internal_components_factory.h" |
6 | 6 |
7 #include "sync/sessions/sync_session_context.h" | 7 #include "sync/sessions/sync_session_context.h" |
| 8 #include "sync/syncable/deferred_on_disk_directory_backing_store.h" |
8 #include "sync/syncable/in_memory_directory_backing_store.h" | 9 #include "sync/syncable/in_memory_directory_backing_store.h" |
9 #include "sync/syncable/on_disk_directory_backing_store.h" | 10 #include "sync/syncable/on_disk_directory_backing_store.h" |
10 #include "sync/syncable/invalid_directory_backing_store.h" | 11 #include "sync/syncable/invalid_directory_backing_store.h" |
11 #include "sync/test/engine/fake_sync_scheduler.h" | 12 #include "sync/test/engine/fake_sync_scheduler.h" |
12 | 13 |
13 namespace syncer { | 14 namespace syncer { |
14 | 15 |
15 TestInternalComponentsFactory::TestInternalComponentsFactory( | 16 TestInternalComponentsFactory::TestInternalComponentsFactory( |
16 const Switches& switches, | 17 const Switches& switches, |
17 StorageOption option) | 18 StorageOption option, |
| 19 StorageOption* storage_used) |
18 : switches_(switches), | 20 : switches_(switches), |
19 storage_option_(option) { | 21 storage_override_(option), |
| 22 storage_used_(storage_used) { |
20 } | 23 } |
21 | 24 |
22 TestInternalComponentsFactory::~TestInternalComponentsFactory() { } | 25 TestInternalComponentsFactory::~TestInternalComponentsFactory() { } |
23 | 26 |
24 scoped_ptr<SyncScheduler> TestInternalComponentsFactory::BuildScheduler( | 27 scoped_ptr<SyncScheduler> TestInternalComponentsFactory::BuildScheduler( |
25 const std::string& name, | 28 const std::string& name, |
26 sessions::SyncSessionContext* context, | 29 sessions::SyncSessionContext* context, |
27 syncer::CancelationSignal* cancelation_signal) { | 30 syncer::CancelationSignal* cancelation_signal) { |
28 return scoped_ptr<SyncScheduler>(new FakeSyncScheduler()); | 31 return scoped_ptr<SyncScheduler>(new FakeSyncScheduler()); |
29 } | 32 } |
(...skipping 17 matching lines...) Expand all Loading... |
47 model_type_registry, | 50 model_type_registry, |
48 switches_.encryption_method == ENCRYPTION_KEYSTORE, | 51 switches_.encryption_method == ENCRYPTION_KEYSTORE, |
49 switches_.pre_commit_updates_policy == | 52 switches_.pre_commit_updates_policy == |
50 FORCE_ENABLE_PRE_COMMIT_UPDATE_AVOIDANCE, | 53 FORCE_ENABLE_PRE_COMMIT_UPDATE_AVOIDANCE, |
51 invalidator_client_id)); | 54 invalidator_client_id)); |
52 | 55 |
53 } | 56 } |
54 | 57 |
55 scoped_ptr<syncable::DirectoryBackingStore> | 58 scoped_ptr<syncable::DirectoryBackingStore> |
56 TestInternalComponentsFactory::BuildDirectoryBackingStore( | 59 TestInternalComponentsFactory::BuildDirectoryBackingStore( |
57 const std::string& dir_name, const base::FilePath& backing_filepath) { | 60 StorageOption storage, const std::string& dir_name, |
58 switch (storage_option_) { | 61 const base::FilePath& backing_filepath) { |
| 62 if (storage_used_) |
| 63 *storage_used_ = storage; |
| 64 |
| 65 switch (storage_override_) { |
59 case STORAGE_IN_MEMORY: | 66 case STORAGE_IN_MEMORY: |
60 return scoped_ptr<syncable::DirectoryBackingStore>( | 67 return scoped_ptr<syncable::DirectoryBackingStore>( |
61 new syncable::InMemoryDirectoryBackingStore(dir_name)); | 68 new syncable::InMemoryDirectoryBackingStore(dir_name)); |
62 case STORAGE_ON_DISK: | 69 case STORAGE_ON_DISK: |
63 return scoped_ptr<syncable::DirectoryBackingStore>( | 70 return scoped_ptr<syncable::DirectoryBackingStore>( |
64 new syncable::OnDiskDirectoryBackingStore(dir_name, | 71 new syncable::OnDiskDirectoryBackingStore(dir_name, |
65 backing_filepath)); | 72 backing_filepath)); |
| 73 case STORAGE_ON_DISK_DEFERRED: |
| 74 return scoped_ptr<syncable::DirectoryBackingStore>( |
| 75 new syncable::DeferredOnDiskDirectoryBackingStore(dir_name, |
| 76 backing_filepath)); |
66 case STORAGE_INVALID: | 77 case STORAGE_INVALID: |
67 return scoped_ptr<syncable::DirectoryBackingStore>( | 78 return scoped_ptr<syncable::DirectoryBackingStore>( |
68 new syncable::InvalidDirectoryBackingStore()); | 79 new syncable::InvalidDirectoryBackingStore()); |
69 } | 80 } |
70 NOTREACHED(); | 81 NOTREACHED(); |
71 return scoped_ptr<syncable::DirectoryBackingStore>(); | 82 return scoped_ptr<syncable::DirectoryBackingStore>(); |
72 } | 83 } |
73 | 84 |
74 InternalComponentsFactory::Switches | 85 InternalComponentsFactory::Switches |
75 TestInternalComponentsFactory::GetSwitches() const { | 86 TestInternalComponentsFactory::GetSwitches() const { |
76 return switches_; | 87 return switches_; |
77 } | 88 } |
78 | 89 |
79 } // namespace syncer | 90 } // namespace syncer |
OLD | NEW |