OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ | 5 #ifndef COMPONENTS_SYNC_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ |
6 #define COMPONENTS_SYNC_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ | 6 #define COMPONENTS_SYNC_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ |
7 | 7 |
8 #include "components/sync_driver/data_type_manager.h" | 8 #include "components/sync_driver/data_type_manager.h" |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 #include <queue> | 11 #include <queue> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/basictypes.h" | 14 #include "base/basictypes.h" |
15 #include "base/callback_forward.h" | 15 #include "base/callback_forward.h" |
16 #include "base/compiler_specific.h" | 16 #include "base/compiler_specific.h" |
17 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
18 #include "base/time/time.h" | 18 #include "base/time/time.h" |
19 #include "components/sync_driver/backend_data_type_configurer.h" | 19 #include "components/sync_driver/backend_data_type_configurer.h" |
20 #include "components/sync_driver/model_association_manager.h" | 20 #include "components/sync_driver/model_association_manager.h" |
21 | 21 |
22 namespace syncer { | 22 namespace syncer { |
23 struct DataTypeConfigurationStats; | 23 struct DataTypeConfigurationStats; |
24 class DataTypeDebugInfoListener; | 24 class DataTypeDebugInfoListener; |
25 template <typename T> class WeakHandle; | 25 template <typename T> class WeakHandle; |
26 } | 26 } |
27 | 27 |
28 namespace browser_sync { | 28 namespace sync_driver { |
29 | 29 |
30 class DataTypeController; | 30 class DataTypeController; |
31 class DataTypeEncryptionHandler; | 31 class DataTypeEncryptionHandler; |
32 class DataTypeManagerObserver; | 32 class DataTypeManagerObserver; |
33 class FailedDataTypesHandler; | 33 class FailedDataTypesHandler; |
34 | 34 |
35 // List of data types grouped by priority and ordered from high priority to | 35 // List of data types grouped by priority and ordered from high priority to |
36 // low priority. | 36 // low priority. |
37 typedef std::queue<syncer::ModelTypeSet> TypeSetPriorityList; | 37 typedef std::queue<syncer::ModelTypeSet> TypeSetPriorityList; |
38 | 38 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 | 154 |
155 // The manager that handles the model association of the individual types. | 155 // The manager that handles the model association of the individual types. |
156 ModelAssociationManager model_association_manager_; | 156 ModelAssociationManager model_association_manager_; |
157 | 157 |
158 // DataTypeManager must have only one observer -- the ProfileSyncService that | 158 // DataTypeManager must have only one observer -- the ProfileSyncService that |
159 // created it and manages its lifetime. | 159 // created it and manages its lifetime. |
160 DataTypeManagerObserver* const observer_; | 160 DataTypeManagerObserver* const observer_; |
161 | 161 |
162 // For querying failed data types (having unrecoverable error) when | 162 // For querying failed data types (having unrecoverable error) when |
163 // configuring backend. | 163 // configuring backend. |
164 browser_sync::FailedDataTypesHandler* failed_data_types_handler_; | 164 FailedDataTypesHandler* failed_data_types_handler_; |
165 | 165 |
166 // Types waiting to be downloaded. | 166 // Types waiting to be downloaded. |
167 TypeSetPriorityList download_types_queue_; | 167 TypeSetPriorityList download_types_queue_; |
168 | 168 |
169 // Types waiting for association and related time tracking info. | 169 // Types waiting for association and related time tracking info. |
170 struct AssociationTypesInfo { | 170 struct AssociationTypesInfo { |
171 AssociationTypesInfo(); | 171 AssociationTypesInfo(); |
172 ~AssociationTypesInfo(); | 172 ~AssociationTypesInfo(); |
173 syncer::ModelTypeSet types; | 173 syncer::ModelTypeSet types; |
174 syncer::ModelTypeSet first_sync_types; | 174 syncer::ModelTypeSet first_sync_types; |
175 base::Time download_start_time; | 175 base::Time download_start_time; |
176 base::Time download_ready_time; | 176 base::Time download_ready_time; |
177 base::Time association_request_time; | 177 base::Time association_request_time; |
178 syncer::ModelTypeSet high_priority_types_before; | 178 syncer::ModelTypeSet high_priority_types_before; |
179 syncer::ModelTypeSet configured_types; | 179 syncer::ModelTypeSet configured_types; |
180 }; | 180 }; |
181 std::queue<AssociationTypesInfo> association_types_queue_; | 181 std::queue<AssociationTypesInfo> association_types_queue_; |
182 | 182 |
183 // The encryption handler lets the DataTypeManager know the state of sync | 183 // The encryption handler lets the DataTypeManager know the state of sync |
184 // datatype encryption. | 184 // datatype encryption. |
185 const browser_sync::DataTypeEncryptionHandler* encryption_handler_; | 185 const DataTypeEncryptionHandler* encryption_handler_; |
186 | 186 |
187 // Association and time stats of data type configuration. | 187 // Association and time stats of data type configuration. |
188 std::vector<syncer::DataTypeConfigurationStats> configuration_stats_; | 188 std::vector<syncer::DataTypeConfigurationStats> configuration_stats_; |
189 | 189 |
190 base::Closure unrecoverable_error_method_; | 190 base::Closure unrecoverable_error_method_; |
191 | 191 |
192 base::WeakPtrFactory<DataTypeManagerImpl> weak_ptr_factory_; | 192 base::WeakPtrFactory<DataTypeManagerImpl> weak_ptr_factory_; |
193 | 193 |
194 DISALLOW_COPY_AND_ASSIGN(DataTypeManagerImpl); | 194 DISALLOW_COPY_AND_ASSIGN(DataTypeManagerImpl); |
195 }; | 195 }; |
196 | 196 |
197 } // namespace browser_sync | 197 } // namespace sync_driver |
198 | 198 |
199 #endif // COMPONENTS_SYNC_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ | 199 #endif // COMPONENTS_SYNC_DRIVER_DATA_TYPE_MANAGER_IMPL_H__ |
OLD | NEW |