Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Side by Side Diff: chrome/browser/drive/drive_api_util.cc

Issue 216433002: drive: Make FileResource copyable (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/drive/drive_api_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/drive/drive_api_util.h" 5 #include "chrome/browser/drive/drive_api_util.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file.h" 9 #include "base/files/file.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 336
337 file->mutable_labels()->set_trashed(entry.deleted()); 337 file->mutable_labels()->set_trashed(entry.deleted());
338 file->set_etag(entry.etag()); 338 file->set_etag(entry.etag());
339 339
340 google_apis::ImageMediaMetadata* image_media_metadata = 340 google_apis::ImageMediaMetadata* image_media_metadata =
341 file->mutable_image_media_metadata(); 341 file->mutable_image_media_metadata();
342 image_media_metadata->set_width(entry.image_width()); 342 image_media_metadata->set_width(entry.image_width());
343 image_media_metadata->set_height(entry.image_height()); 343 image_media_metadata->set_height(entry.image_height());
344 image_media_metadata->set_rotation(entry.image_rotation()); 344 image_media_metadata->set_rotation(entry.image_rotation());
345 345
346 ScopedVector<google_apis::ParentReference> parents; 346 std::vector<google_apis::ParentReference>* parents = file->mutable_parents();
347 for (size_t i = 0; i < entry.links().size(); ++i) { 347 for (size_t i = 0; i < entry.links().size(); ++i) {
348 using google_apis::Link; 348 using google_apis::Link;
349 const Link& link = *entry.links()[i]; 349 const Link& link = *entry.links()[i];
350 switch (link.type()) { 350 switch (link.type()) {
351 case Link::LINK_PARENT: { 351 case Link::LINK_PARENT: {
352 scoped_ptr<google_apis::ParentReference> parent( 352 google_apis::ParentReference parent;
353 new google_apis::ParentReference); 353 parent.set_parent_link(link.href());
354 parent->set_parent_link(link.href());
355 354
356 std::string file_id = 355 std::string file_id =
357 drive::util::ExtractResourceIdFromUrl(link.href()); 356 drive::util::ExtractResourceIdFromUrl(link.href());
358 parent->set_file_id(file_id); 357 parent.set_file_id(file_id);
359 parent->set_is_root(file_id == kWapiRootDirectoryResourceId); 358 parent.set_is_root(file_id == kWapiRootDirectoryResourceId);
360 parents.push_back(parent.release()); 359 parents->push_back(parent);
361 break; 360 break;
362 } 361 }
363 case Link::LINK_ALTERNATE: 362 case Link::LINK_ALTERNATE:
364 file->set_alternate_link(link.href()); 363 file->set_alternate_link(link.href());
365 break; 364 break;
366 default: 365 default:
367 break; 366 break;
368 } 367 }
369 } 368 }
370 file->set_parents(parents.Pass());
371 369
372 file->set_modified_date(entry.updated_time()); 370 file->set_modified_date(entry.updated_time());
373 file->set_last_viewed_by_me_date(entry.last_viewed_time()); 371 file->set_last_viewed_by_me_date(entry.last_viewed_time());
374 372
375 return file.Pass(); 373 return file.Pass();
376 } 374 }
377 375
378 google_apis::DriveEntryKind GetKind( 376 google_apis::DriveEntryKind GetKind(
379 const google_apis::FileResource& file_resource) { 377 const google_apis::FileResource& file_resource) {
380 if (file_resource.IsDirectory()) 378 if (file_resource.IsDirectory())
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 entry->set_image_rotation(file_resource.image_media_metadata().rotation()); 440 entry->set_image_rotation(file_resource.image_media_metadata().rotation());
443 441
444 // CommonMetadata 442 // CommonMetadata
445 entry->set_etag(file_resource.etag()); 443 entry->set_etag(file_resource.etag());
446 // entry->authors_ 444 // entry->authors_
447 // entry->links_. 445 // entry->links_.
448 ScopedVector<google_apis::Link> links; 446 ScopedVector<google_apis::Link> links;
449 for (size_t i = 0; i < file_resource.parents().size(); ++i) { 447 for (size_t i = 0; i < file_resource.parents().size(); ++i) {
450 google_apis::Link* link = new google_apis::Link; 448 google_apis::Link* link = new google_apis::Link;
451 link->set_type(google_apis::Link::LINK_PARENT); 449 link->set_type(google_apis::Link::LINK_PARENT);
452 link->set_href(file_resource.parents()[i]->parent_link()); 450 link->set_href(file_resource.parents()[i].parent_link());
453 links.push_back(link); 451 links.push_back(link);
454 } 452 }
455 if (!file_resource.alternate_link().is_empty()) { 453 if (!file_resource.alternate_link().is_empty()) {
456 google_apis::Link* link = new google_apis::Link; 454 google_apis::Link* link = new google_apis::Link;
457 link->set_type(google_apis::Link::LINK_ALTERNATE); 455 link->set_type(google_apis::Link::LINK_ALTERNATE);
458 link->set_href(file_resource.alternate_link()); 456 link->set_href(file_resource.alternate_link());
459 links.push_back(link); 457 links.push_back(link);
460 } 458 }
461 entry->set_links(links.Pass()); 459 entry->set_links(links.Pass());
462 460
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 562
565 base::MD5Digest digest; 563 base::MD5Digest digest;
566 base::MD5Final(&digest, &context); 564 base::MD5Final(&digest, &context);
567 return MD5DigestToBase16(digest); 565 return MD5DigestToBase16(digest);
568 } 566 }
569 567
570 const char kWapiRootDirectoryResourceId[] = "folder:root"; 568 const char kWapiRootDirectoryResourceId[] = "folder:root";
571 569
572 } // namespace util 570 } // namespace util
573 } // namespace drive 571 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/drive/drive_api_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698