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