| 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/register_app_task.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h" |
| 6 | 6 |
| 7 #include <stdint.h> |
| 8 |
| 7 #include "base/bind.h" | 9 #include "base/bind.h" |
| 8 #include "base/location.h" | 10 #include "base/location.h" |
| 9 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" | 11 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" |
| 10 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h" | 12 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h" |
| 11 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" | 13 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
| 12 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" | 14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" |
| 13 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" | 15 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" |
| 14 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" | 16 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" |
| 15 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" | 17 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" |
| 16 #include "components/drive/drive_api_util.h" | 18 #include "components/drive/drive_api_util.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 if (create_folder_retry_count_++ >= kMaxRetry) { | 52 if (create_folder_retry_count_++ >= kMaxRetry) { |
| 51 callback.Run(SYNC_STATUS_FAILED); | 53 callback.Run(SYNC_STATUS_FAILED); |
| 52 return; | 54 return; |
| 53 } | 55 } |
| 54 | 56 |
| 55 if (!metadata_database() || !drive_service()) { | 57 if (!metadata_database() || !drive_service()) { |
| 56 callback.Run(SYNC_STATUS_FAILED); | 58 callback.Run(SYNC_STATUS_FAILED); |
| 57 return; | 59 return; |
| 58 } | 60 } |
| 59 | 61 |
| 60 int64 sync_root = metadata_database()->GetSyncRootTrackerID(); | 62 int64_t sync_root = metadata_database()->GetSyncRootTrackerID(); |
| 61 TrackerIDSet trackers; | 63 TrackerIDSet trackers; |
| 62 if (!metadata_database()->FindTrackersByParentAndTitle( | 64 if (!metadata_database()->FindTrackersByParentAndTitle( |
| 63 sync_root, app_id_, &trackers)) { | 65 sync_root, app_id_, &trackers)) { |
| 64 CreateAppRootFolder(callback); | 66 CreateAppRootFolder(callback); |
| 65 return; | 67 return; |
| 66 } | 68 } |
| 67 | 69 |
| 68 FileTracker candidate; | 70 FileTracker candidate; |
| 69 if (!FilterCandidates(trackers, &candidate)) { | 71 if (!FilterCandidates(trackers, &candidate)) { |
| 70 CreateAppRootFolder(callback); | 72 CreateAppRootFolder(callback); |
| 71 return; | 73 return; |
| 72 } | 74 } |
| 73 | 75 |
| 74 if (candidate.active()) { | 76 if (candidate.active()) { |
| 75 DCHECK(candidate.tracker_kind() == TRACKER_KIND_APP_ROOT || | 77 DCHECK(candidate.tracker_kind() == TRACKER_KIND_APP_ROOT || |
| 76 candidate.tracker_kind() == TRACKER_KIND_DISABLED_APP_ROOT); | 78 candidate.tracker_kind() == TRACKER_KIND_DISABLED_APP_ROOT); |
| 77 callback.Run(SYNC_STATUS_OK); | 79 callback.Run(SYNC_STATUS_OK); |
| 78 return; | 80 return; |
| 79 } | 81 } |
| 80 | 82 |
| 81 RegisterAppIntoDatabase(candidate, callback); | 83 RegisterAppIntoDatabase(candidate, callback); |
| 82 } | 84 } |
| 83 | 85 |
| 84 void RegisterAppTask::CreateAppRootFolder(const SyncStatusCallback& callback) { | 86 void RegisterAppTask::CreateAppRootFolder(const SyncStatusCallback& callback) { |
| 85 int64 sync_root_tracker_id = metadata_database()->GetSyncRootTrackerID(); | 87 int64_t sync_root_tracker_id = metadata_database()->GetSyncRootTrackerID(); |
| 86 FileTracker sync_root_tracker; | 88 FileTracker sync_root_tracker; |
| 87 bool should_success = metadata_database()->FindTrackerByTrackerID( | 89 bool should_success = metadata_database()->FindTrackerByTrackerID( |
| 88 sync_root_tracker_id, | 90 sync_root_tracker_id, |
| 89 &sync_root_tracker); | 91 &sync_root_tracker); |
| 90 DCHECK(should_success); | 92 DCHECK(should_success); |
| 91 | 93 |
| 92 DCHECK(!folder_creator_); | 94 DCHECK(!folder_creator_); |
| 93 folder_creator_.reset(new FolderCreator( | 95 folder_creator_.reset(new FolderCreator( |
| 94 drive_service(), metadata_database(), | 96 drive_service(), metadata_database(), |
| 95 sync_root_tracker.file_id(), app_id_)); | 97 sync_root_tracker.file_id(), app_id_)); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 MetadataDatabase* RegisterAppTask::metadata_database() { | 177 MetadataDatabase* RegisterAppTask::metadata_database() { |
| 176 return sync_context_->GetMetadataDatabase(); | 178 return sync_context_->GetMetadataDatabase(); |
| 177 } | 179 } |
| 178 | 180 |
| 179 drive::DriveServiceInterface* RegisterAppTask::drive_service() { | 181 drive::DriveServiceInterface* RegisterAppTask::drive_service() { |
| 180 return sync_context_->GetDriveService(); | 182 return sync_context_->GetDriveService(); |
| 181 } | 183 } |
| 182 | 184 |
| 183 } // namespace drive_backend | 185 } // namespace drive_backend |
| 184 } // namespace sync_file_system | 186 } // namespace sync_file_system |
| OLD | NEW |