| 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> | 7 #include <stdint.h> |
| 8 #include <utility> |
| 8 | 9 |
| 9 #include "base/bind.h" | 10 #include "base/bind.h" |
| 10 #include "base/location.h" | 11 #include "base/location.h" |
| 11 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" | 12 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" |
| 12 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h" | 13 #include "chrome/browser/sync_file_system/drive_backend/folder_creator.h" |
| 13 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" | 14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
| 14 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" | 15 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" |
| 15 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" | 16 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_context.h" |
| 16 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" | 17 #include "chrome/browser/sync_file_system/drive_backend/tracker_id_set.h" |
| 17 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" | 18 #include "chrome/browser/sync_file_system/syncable_file_system_util.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 sync_root_tracker.file_id(), app_id_)); | 98 sync_root_tracker.file_id(), app_id_)); |
| 98 folder_creator_->Run(base::Bind( | 99 folder_creator_->Run(base::Bind( |
| 99 &RegisterAppTask::DidCreateAppRootFolder, | 100 &RegisterAppTask::DidCreateAppRootFolder, |
| 100 weak_ptr_factory_.GetWeakPtr(), callback)); | 101 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 101 } | 102 } |
| 102 | 103 |
| 103 void RegisterAppTask::DidCreateAppRootFolder( | 104 void RegisterAppTask::DidCreateAppRootFolder( |
| 104 const SyncStatusCallback& callback, | 105 const SyncStatusCallback& callback, |
| 105 const std::string& folder_id, | 106 const std::string& folder_id, |
| 106 SyncStatusCode status) { | 107 SyncStatusCode status) { |
| 107 scoped_ptr<FolderCreator> deleter = folder_creator_.Pass(); | 108 scoped_ptr<FolderCreator> deleter = std::move(folder_creator_); |
| 108 if (status != SYNC_STATUS_OK) { | 109 if (status != SYNC_STATUS_OK) { |
| 109 callback.Run(status); | 110 callback.Run(status); |
| 110 return; | 111 return; |
| 111 } | 112 } |
| 112 | 113 |
| 113 RunExclusive(callback); | 114 RunExclusive(callback); |
| 114 } | 115 } |
| 115 | 116 |
| 116 bool RegisterAppTask::FilterCandidates(const TrackerIDSet& trackers, | 117 bool RegisterAppTask::FilterCandidates(const TrackerIDSet& trackers, |
| 117 FileTracker* candidate) { | 118 FileTracker* candidate) { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 | 150 |
| 150 if (file.details().file_kind() != FILE_KIND_FOLDER) | 151 if (file.details().file_kind() != FILE_KIND_FOLDER) |
| 151 continue; | 152 continue; |
| 152 | 153 |
| 153 if (file.details().missing()) | 154 if (file.details().missing()) |
| 154 continue; | 155 continue; |
| 155 | 156 |
| 156 if (oldest_tracker && CompareOnCTime(*oldest_tracker, *tracker)) | 157 if (oldest_tracker && CompareOnCTime(*oldest_tracker, *tracker)) |
| 157 continue; | 158 continue; |
| 158 | 159 |
| 159 oldest_tracker = tracker.Pass(); | 160 oldest_tracker = std::move(tracker); |
| 160 } | 161 } |
| 161 | 162 |
| 162 if (!oldest_tracker) | 163 if (!oldest_tracker) |
| 163 return false; | 164 return false; |
| 164 | 165 |
| 165 *candidate = *oldest_tracker; | 166 *candidate = *oldest_tracker; |
| 166 return true; | 167 return true; |
| 167 } | 168 } |
| 168 | 169 |
| 169 void RegisterAppTask::RegisterAppIntoDatabase( | 170 void RegisterAppTask::RegisterAppIntoDatabase( |
| 170 const FileTracker& tracker, | 171 const FileTracker& tracker, |
| 171 const SyncStatusCallback& callback) { | 172 const SyncStatusCallback& callback) { |
| 172 SyncStatusCode status = | 173 SyncStatusCode status = |
| 173 metadata_database()->RegisterApp(app_id_, tracker.file_id()); | 174 metadata_database()->RegisterApp(app_id_, tracker.file_id()); |
| 174 callback.Run(status); | 175 callback.Run(status); |
| 175 } | 176 } |
| 176 | 177 |
| 177 MetadataDatabase* RegisterAppTask::metadata_database() { | 178 MetadataDatabase* RegisterAppTask::metadata_database() { |
| 178 return sync_context_->GetMetadataDatabase(); | 179 return sync_context_->GetMetadataDatabase(); |
| 179 } | 180 } |
| 180 | 181 |
| 181 drive::DriveServiceInterface* RegisterAppTask::drive_service() { | 182 drive::DriveServiceInterface* RegisterAppTask::drive_service() { |
| 182 return sync_context_->GetDriveService(); | 183 return sync_context_->GetDriveService(); |
| 183 } | 184 } |
| 184 | 185 |
| 185 } // namespace drive_backend | 186 } // namespace drive_backend |
| 186 } // namespace sync_file_system | 187 } // namespace sync_file_system |
| OLD | NEW |