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 |