| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/drive/change_list_processor.h" | 5 #include "chrome/browser/chromeos/drive/change_list_processor.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "chrome/browser/chromeos/drive/drive.pb.h" | 9 #include "chrome/browser/chromeos/drive/drive.pb.h" |
| 10 #include "chrome/browser/chromeos/drive/file_system_util.h" | 10 #include "chrome/browser/chromeos/drive/file_system_util.h" |
| 11 #include "chrome/browser/chromeos/drive/resource_entry_conversion.h" | 11 #include "chrome/browser/chromeos/drive/resource_entry_conversion.h" |
| 12 #include "chrome/browser/chromeos/drive/resource_metadata.h" | 12 #include "chrome/browser/chromeos/drive/resource_metadata.h" |
| 13 #include "chrome/browser/drive/drive_api_util.h" |
| 13 #include "google_apis/drive/drive_api_parser.h" | 14 #include "google_apis/drive/drive_api_parser.h" |
| 14 #include "google_apis/drive/gdata_wapi_parser.h" | 15 #include "google_apis/drive/gdata_wapi_parser.h" |
| 15 | 16 |
| 16 namespace drive { | 17 namespace drive { |
| 17 namespace internal { | 18 namespace internal { |
| 18 | 19 |
| 19 namespace { | 20 namespace { |
| 20 | 21 |
| 21 class ChangeListToEntryMapUMAStats { | 22 class ChangeListToEntryMapUMAStats { |
| 22 public: | 23 public: |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 } // namespace | 66 } // namespace |
| 66 | 67 |
| 67 std::string DirectoryFetchInfo::ToString() const { | 68 std::string DirectoryFetchInfo::ToString() const { |
| 68 return ("local_id: " + local_id_ + | 69 return ("local_id: " + local_id_ + |
| 69 ", resource_id: " + resource_id_ + | 70 ", resource_id: " + resource_id_ + |
| 70 ", changestamp: " + base::Int64ToString(changestamp_)); | 71 ", changestamp: " + base::Int64ToString(changestamp_)); |
| 71 } | 72 } |
| 72 | 73 |
| 73 ChangeList::ChangeList() {} | 74 ChangeList::ChangeList() {} |
| 74 | 75 |
| 75 ChangeList::ChangeList(const google_apis::ResourceList& resource_list) | 76 ChangeList::ChangeList(const google_apis::ChangeList& change_list) |
| 76 : largest_changestamp_(resource_list.largest_changestamp()) { | 77 : next_url_(change_list.next_link()), |
| 77 resource_list.GetNextFeedURL(&next_url_); | 78 largest_changestamp_(change_list.largest_change_id()) { |
| 78 | 79 const ScopedVector<google_apis::ChangeResource>& items = change_list.items(); |
| 79 entries_.resize(resource_list.entries().size()); | 80 entries_.resize(items.size()); |
| 80 parent_resource_ids_.resize(resource_list.entries().size()); | 81 parent_resource_ids_.resize(items.size()); |
| 81 size_t entries_index = 0; | 82 size_t entries_index = 0; |
| 82 for (size_t i = 0; i < resource_list.entries().size(); ++i) { | 83 for (size_t i = 0; i < items.size(); ++i) { |
| 83 if (ConvertToResourceEntry(*resource_list.entries()[i], | 84 if (ConvertToResourceEntry( |
| 84 &entries_[entries_index], | 85 *util::ConvertChangeResourceToResourceEntry(*items[i]), |
| 85 &parent_resource_ids_[entries_index])) { | 86 &entries_[entries_index], |
| 87 &parent_resource_ids_[entries_index])) { |
| 86 ++entries_index; | 88 ++entries_index; |
| 87 } | 89 } |
| 88 } | 90 } |
| 91 entries_.resize(entries_index); |
| 92 parent_resource_ids_.resize(entries_index); |
| 93 } |
| 94 |
| 95 ChangeList::ChangeList(const google_apis::FileList& file_list) |
| 96 : next_url_(file_list.next_link()), |
| 97 largest_changestamp_(0) { |
| 98 const ScopedVector<google_apis::FileResource>& items = file_list.items(); |
| 99 entries_.resize(items.size()); |
| 100 parent_resource_ids_.resize(items.size()); |
| 101 size_t entries_index = 0; |
| 102 for (size_t i = 0; i < items.size(); ++i) { |
| 103 if (ConvertToResourceEntry( |
| 104 *util::ConvertFileResourceToResourceEntry(*items[i]), |
| 105 &entries_[entries_index], |
| 106 &parent_resource_ids_[entries_index])) { |
| 107 ++entries_index; |
| 108 } |
| 109 } |
| 89 entries_.resize(entries_index); | 110 entries_.resize(entries_index); |
| 90 parent_resource_ids_.resize(entries_index); | 111 parent_resource_ids_.resize(entries_index); |
| 91 } | 112 } |
| 92 | 113 |
| 93 ChangeList::~ChangeList() {} | 114 ChangeList::~ChangeList() {} |
| 94 | 115 |
| 95 ChangeListProcessor::ChangeListProcessor(ResourceMetadata* resource_metadata) | 116 ChangeListProcessor::ChangeListProcessor(ResourceMetadata* resource_metadata) |
| 96 : resource_metadata_(resource_metadata) { | 117 : resource_metadata_(resource_metadata) { |
| 97 } | 118 } |
| 98 | 119 |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 473 resource_metadata_->GetSubDirectoriesRecursively(local_id, | 494 resource_metadata_->GetSubDirectoriesRecursively(local_id, |
| 474 &sub_directories); | 495 &sub_directories); |
| 475 changed_dirs_.insert(sub_directories.begin(), sub_directories.end()); | 496 changed_dirs_.insert(sub_directories.begin(), sub_directories.end()); |
| 476 } | 497 } |
| 477 } | 498 } |
| 478 } | 499 } |
| 479 } | 500 } |
| 480 | 501 |
| 481 } // namespace internal | 502 } // namespace internal |
| 482 } // namespace drive | 503 } // namespace drive |
| OLD | NEW |