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 |