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 "chrome/browser/sync/glue/data_type_manager_impl.h" | 5 #include "chrome/browser/sync/glue/data_type_manager_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 model_association_manager_.ResetForReconfiguration(); | 190 model_association_manager_.ResetForReconfiguration(); |
191 ProcessReconfigure(); | 191 ProcessReconfigure(); |
192 return; | 192 return; |
193 } | 193 } |
194 | 194 |
195 if (!failed_configuration_types.Empty()) { | 195 if (!failed_configuration_types.Empty()) { |
196 ChromeReportUnrecoverableError(); | 196 ChromeReportUnrecoverableError(); |
197 std::string error_msg = | 197 std::string error_msg = |
198 "Configuration failed for types " + | 198 "Configuration failed for types " + |
199 syncable::ModelTypeSetToString(failed_configuration_types); | 199 syncable::ModelTypeSetToString(failed_configuration_types); |
200 SyncError error(FROM_HERE, error_msg, | 200 csync::SyncError error(FROM_HERE, error_msg, |
201 failed_configuration_types.First().Get()); | 201 failed_configuration_types.First().Get()); |
202 Abort(UNRECOVERABLE_ERROR, error); | 202 Abort(UNRECOVERABLE_ERROR, error); |
203 return; | 203 return; |
204 } | 204 } |
205 | 205 |
206 state_ = CONFIGURING; | 206 state_ = CONFIGURING; |
207 model_association_manager_.StartAssociationAsync(); | 207 model_association_manager_.StartAssociationAsync(); |
208 } | 208 } |
209 | 209 |
210 void DataTypeManagerImpl::OnModelAssociationDone( | 210 void DataTypeManagerImpl::OnModelAssociationDone( |
211 const DataTypeManager::ConfigureResult& result) { | 211 const DataTypeManager::ConfigureResult& result) { |
212 if (result.status == ABORTED || result.status == UNRECOVERABLE_ERROR) { | 212 if (result.status == ABORTED || result.status == UNRECOVERABLE_ERROR) { |
213 Abort(result.status, result.failed_data_types.size() >= 1 ? | 213 Abort(result.status, result.failed_data_types.size() >= 1 ? |
214 result.failed_data_types.front() : | 214 result.failed_data_types.front() : |
215 SyncError()); | 215 csync::SyncError()); |
216 return; | 216 return; |
217 } | 217 } |
218 | 218 |
219 if (ProcessReconfigure()) { | 219 if (ProcessReconfigure()) { |
220 return; | 220 return; |
221 } | 221 } |
222 | 222 |
223 if (result.status == CONFIGURE_BLOCKED) { | 223 if (result.status == CONFIGURE_BLOCKED) { |
224 failed_datatypes_info_.insert(failed_datatypes_info_.end(), | 224 failed_datatypes_info_.insert(failed_datatypes_info_.end(), |
225 result.failed_data_types.begin(), | 225 result.failed_data_types.begin(), |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 | 267 |
268 return; | 268 return; |
269 } | 269 } |
270 | 270 |
271 const bool download_pending = state_ == DOWNLOAD_PENDING; | 271 const bool download_pending = state_ == DOWNLOAD_PENDING; |
272 state_ = STOPPING; | 272 state_ = STOPPING; |
273 if (download_pending) { | 273 if (download_pending) { |
274 // If Stop() is called while waiting for download, cancel all | 274 // If Stop() is called while waiting for download, cancel all |
275 // outstanding tasks. | 275 // outstanding tasks. |
276 weak_ptr_factory_.InvalidateWeakPtrs(); | 276 weak_ptr_factory_.InvalidateWeakPtrs(); |
277 Abort(ABORTED, SyncError()); | 277 Abort(ABORTED, csync::SyncError()); |
278 return; | 278 return; |
279 } | 279 } |
280 | 280 |
281 FinishStop(); | 281 FinishStop(); |
282 } | 282 } |
283 | 283 |
284 void DataTypeManagerImpl::FinishStop() { | 284 void DataTypeManagerImpl::FinishStop() { |
285 DCHECK(state_== CONFIGURING || state_ == STOPPING || state_ == BLOCKED || | 285 DCHECK(state_== CONFIGURING || state_ == STOPPING || state_ == BLOCKED || |
286 state_ == DOWNLOAD_PENDING); | 286 state_ == DOWNLOAD_PENDING); |
287 model_association_manager_.Stop(); | 287 model_association_manager_.Stop(); |
288 | 288 |
289 failed_datatypes_info_.clear(); | 289 failed_datatypes_info_.clear(); |
290 state_ = STOPPED; | 290 state_ = STOPPED; |
291 } | 291 } |
292 | 292 |
293 void DataTypeManagerImpl::Abort(ConfigureStatus status, | 293 void DataTypeManagerImpl::Abort(ConfigureStatus status, |
294 const SyncError& error) { | 294 const csync::SyncError& error) { |
295 DCHECK_NE(OK, status); | 295 DCHECK_NE(OK, status); |
296 FinishStop(); | 296 FinishStop(); |
297 std::list<SyncError> error_list; | 297 std::list<csync::SyncError> error_list; |
298 if (error.IsSet()) | 298 if (error.IsSet()) |
299 error_list.push_back(error); | 299 error_list.push_back(error); |
300 ConfigureResult result(status, | 300 ConfigureResult result(status, |
301 last_requested_types_, | 301 last_requested_types_, |
302 error_list, | 302 error_list, |
303 syncable::ModelTypeSet()); | 303 syncable::ModelTypeSet()); |
304 NotifyDone(result); | 304 NotifyDone(result); |
305 } | 305 } |
306 | 306 |
307 void DataTypeManagerImpl::NotifyStart() { | 307 void DataTypeManagerImpl::NotifyStart() { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 content::Source<DataTypeManager>(this), | 361 content::Source<DataTypeManager>(this), |
362 content::NotificationService::NoDetails()); | 362 content::NotificationService::NoDetails()); |
363 } | 363 } |
364 | 364 |
365 void DataTypeManagerImpl::AddToConfigureTime() { | 365 void DataTypeManagerImpl::AddToConfigureTime() { |
366 DCHECK(!last_restart_time_.is_null()); | 366 DCHECK(!last_restart_time_.is_null()); |
367 configure_time_delta_ += (base::Time::Now() - last_restart_time_); | 367 configure_time_delta_ += (base::Time::Now() - last_restart_time_); |
368 } | 368 } |
369 | 369 |
370 } // namespace browser_sync | 370 } // namespace browser_sync |
OLD | NEW |