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 |