OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_file_system/drive_backend/local_to_remote_syncer.h
" | 5 #include "chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer.h
" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 // ContinueAsBackgroundTask(), so we need to make sure other tasks didn't | 283 // ContinueAsBackgroundTask(), so we need to make sure other tasks didn't |
284 // affect to the current LocalToRemoteSyncer task. | 284 // affect to the current LocalToRemoteSyncer task. |
285 // | 285 // |
286 // - For RemoteToLocalSyncer, it doesn't actually run beyond | 286 // - For RemoteToLocalSyncer, it doesn't actually run beyond |
287 // PrepareForProcessRemoteChange() since it should be blocked in | 287 // PrepareForProcessRemoteChange() since it should be blocked in |
288 // LocalFileSyncService. | 288 // LocalFileSyncService. |
289 // - For ListChangesTask, it may update FileMetatada together with |change_id| | 289 // - For ListChangesTask, it may update FileMetatada together with |change_id| |
290 // and may delete FileTracker. So, ensure |change_id| is not changed and | 290 // and may delete FileTracker. So, ensure |change_id| is not changed and |
291 // check if FileTracker still exists. | 291 // check if FileTracker still exists. |
292 // - For UninstallAppTask, it may also delete FileMetadata and FileTracker. | 292 // - For UninstallAppTask, it may also delete FileMetadata and FileTracker. |
293 // And also, check if FileTracker still exists. | 293 // Check if FileTracker still exists. |
294 // - Others, SyncEngineInitializer and RegisterAppTask doesn't affect to | 294 // - Others, SyncEngineInitializer and RegisterAppTask doesn't affect to |
295 // LocalToRemoteSyncer. | 295 // LocalToRemoteSyncer. |
296 if (remote_file_tracker_) { | 296 if (remote_file_tracker_) { |
297 int64 latest_change_id = 0; | 297 int64 latest_change_id = 0; |
298 if (!GetKnownChangeID(metadata_database(), | 298 if (!GetKnownChangeID(metadata_database(), |
299 remote_file_tracker_->file_id(), | 299 remote_file_tracker_->file_id(), |
300 &latest_change_id) || | 300 &latest_change_id) || |
301 latest_change_id > remote_file_change_id_) { | 301 latest_change_id > remote_file_change_id_) { |
302 SyncCompleted(token.Pass(), SYNC_STATUS_RETRY); | 302 SyncCompleted(token.Pass(), SYNC_STATUS_RETRY); |
303 return; | 303 return; |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
656 NOTREACHED(); | 656 NOTREACHED(); |
657 SyncCompleted(token.Pass(), SYNC_STATUS_FAILED); | 657 SyncCompleted(token.Pass(), SYNC_STATUS_FAILED); |
658 return; | 658 return; |
659 } | 659 } |
660 | 660 |
661 status = metadata_database()->ReplaceActiveTrackerWithNewResource( | 661 status = metadata_database()->ReplaceActiveTrackerWithNewResource( |
662 remote_parent_folder_tracker_->tracker_id(), *entry); | 662 remote_parent_folder_tracker_->tracker_id(), *entry); |
663 SyncCompleted(token.Pass(), status); | 663 SyncCompleted(token.Pass(), status); |
664 } | 664 } |
665 | 665 |
666 void LocalToRemoteSyncer::CreateRemoteFolder( | 666 void LocalToRemoteSyncer::CreateRemoteFolder(scoped_ptr<SyncTaskToken> token) { |
667 scoped_ptr<SyncTaskToken> token) { | |
668 DCHECK(remote_parent_folder_tracker_); | 667 DCHECK(remote_parent_folder_tracker_); |
669 | 668 |
670 base::FilePath title = storage::VirtualPath::BaseName(target_path_); | 669 base::FilePath title = storage::VirtualPath::BaseName(target_path_); |
671 sync_action_ = SYNC_ACTION_ADDED; | 670 sync_action_ = SYNC_ACTION_ADDED; |
672 | 671 |
673 DCHECK(!folder_creator_); | 672 DCHECK(!folder_creator_); |
674 folder_creator_.reset(new FolderCreator( | 673 folder_creator_.reset(new FolderCreator( |
675 drive_service(), metadata_database(), | 674 drive_service(), metadata_database(), |
676 remote_parent_folder_tracker_->file_id(), | 675 remote_parent_folder_tracker_->file_id(), |
677 title.AsUTF8Unsafe())); | 676 title.AsUTF8Unsafe())); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 set_used_network(true); | 745 set_used_network(true); |
747 return sync_context_->GetDriveUploader(); | 746 return sync_context_->GetDriveUploader(); |
748 } | 747 } |
749 | 748 |
750 MetadataDatabase* LocalToRemoteSyncer::metadata_database() { | 749 MetadataDatabase* LocalToRemoteSyncer::metadata_database() { |
751 return sync_context_->GetMetadataDatabase(); | 750 return sync_context_->GetMetadataDatabase(); |
752 } | 751 } |
753 | 752 |
754 } // namespace drive_backend | 753 } // namespace drive_backend |
755 } // namespace sync_file_system | 754 } // namespace sync_file_system |
OLD | NEW |