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/gdata/drive_api_parser.h" | 5 #include "chrome/browser/chromeos/gdata/drive_api_parser.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 const char kModifiedByMeDate[] = "modifiedByMeDate"; | 91 const char kModifiedByMeDate[] = "modifiedByMeDate"; |
92 const char kDownloadUrl[] = "downloadUrl"; | 92 const char kDownloadUrl[] = "downloadUrl"; |
93 const char kFileExtension[] = "fileExtension"; | 93 const char kFileExtension[] = "fileExtension"; |
94 const char kMd5Checksum[] = "md5Checksum"; | 94 const char kMd5Checksum[] = "md5Checksum"; |
95 const char kFileSize[] = "fileSize"; | 95 const char kFileSize[] = "fileSize"; |
96 const char kAlternateLink[] = "alternateLink"; | 96 const char kAlternateLink[] = "alternateLink"; |
97 const char kEmbedLink[] = "embedLink"; | 97 const char kEmbedLink[] = "embedLink"; |
98 const char kParents[] = "parents"; | 98 const char kParents[] = "parents"; |
99 const char kThumbnailLink[] = "thumbnailLink"; | 99 const char kThumbnailLink[] = "thumbnailLink"; |
100 const char kWebContentLink[] = "webContentLink"; | 100 const char kWebContentLink[] = "webContentLink"; |
| 101 const char kLabels[] = "labels"; |
| 102 // These 5 flags are defined under |labels|. |
| 103 const char kLabelStarred[] = "starred"; |
| 104 const char kLabelHidden[] = "hidden"; |
| 105 const char kLabelTrashed[] = "trashed"; |
| 106 const char kLabelRestricted[] = "restricted"; |
| 107 const char kLabelViewed[] = "viewed"; |
101 | 108 |
102 const char kDriveFolderMimeType[] = "application/vnd.google-apps.folder"; | 109 const char kDriveFolderMimeType[] = "application/vnd.google-apps.folder"; |
103 | 110 |
104 // Files List | 111 // Files List |
105 // https://developers.google.com/drive/v2/reference/files/list | 112 // https://developers.google.com/drive/v2/reference/files/list |
106 const char kFileListKind[] = "drive#fileList"; | 113 const char kFileListKind[] = "drive#fileList"; |
107 const char kNextPageToken[] = "nextPageToken"; | 114 const char kNextPageToken[] = "nextPageToken"; |
108 const char kNextLink[] = "nextLink"; | 115 const char kNextLink[] = "nextLink"; |
109 | 116 |
110 // Change Resource | 117 // Change Resource |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 // static | 395 // static |
389 void FileResource::RegisterJSONConverter( | 396 void FileResource::RegisterJSONConverter( |
390 base::JSONValueConverter<FileResource>* converter) { | 397 base::JSONValueConverter<FileResource>* converter) { |
391 converter->RegisterStringField(kId, &FileResource::file_id_); | 398 converter->RegisterStringField(kId, &FileResource::file_id_); |
392 converter->RegisterStringField(kETag, &FileResource::etag_); | 399 converter->RegisterStringField(kETag, &FileResource::etag_); |
393 converter->RegisterCustomField<GURL>(kSelfLink, | 400 converter->RegisterCustomField<GURL>(kSelfLink, |
394 &FileResource::self_link_, | 401 &FileResource::self_link_, |
395 GetGURLFromString); | 402 GetGURLFromString); |
396 converter->RegisterStringField(kTitle, &FileResource::title_); | 403 converter->RegisterStringField(kTitle, &FileResource::title_); |
397 converter->RegisterStringField(kMimeType, &FileResource::mime_type_); | 404 converter->RegisterStringField(kMimeType, &FileResource::mime_type_); |
| 405 converter->RegisterNestedField(kLabels, &FileResource::labels_); |
398 converter->RegisterCustomField<base::Time>( | 406 converter->RegisterCustomField<base::Time>( |
399 kCreatedDate, | 407 kCreatedDate, |
400 &FileResource::created_date_, | 408 &FileResource::created_date_, |
401 &gdata::util::GetTimeFromString); | 409 &gdata::util::GetTimeFromString); |
402 converter->RegisterCustomField<base::Time>( | 410 converter->RegisterCustomField<base::Time>( |
403 kModifiedByMeDate, | 411 kModifiedByMeDate, |
404 &FileResource::modified_by_me_date_, | 412 &FileResource::modified_by_me_date_, |
405 &gdata::util::GetTimeFromString); | 413 &gdata::util::GetTimeFromString); |
406 converter->RegisterCustomField<GURL>(kDownloadUrl, | 414 converter->RegisterCustomField<GURL>(kDownloadUrl, |
407 &FileResource::download_url_, | 415 &FileResource::download_url_, |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 | 589 |
582 bool ChangeList::Parse(const base::Value& value) { | 590 bool ChangeList::Parse(const base::Value& value) { |
583 base::JSONValueConverter<ChangeList> converter; | 591 base::JSONValueConverter<ChangeList> converter; |
584 if (!converter.Convert(value, this)) { | 592 if (!converter.Convert(value, this)) { |
585 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; | 593 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; |
586 return false; | 594 return false; |
587 } | 595 } |
588 return true; | 596 return true; |
589 } | 597 } |
590 | 598 |
| 599 |
| 600 //////////////////////////////////////////////////////////////////////////////// |
| 601 // FileLabels implementation |
| 602 |
| 603 FileLabels::FileLabels() |
| 604 : starred_(false), |
| 605 hidden_(false), |
| 606 trashed_(false), |
| 607 restricted_(false), |
| 608 viewed_(false) {} |
| 609 |
| 610 FileLabels::~FileLabels() {} |
| 611 |
| 612 // static |
| 613 void FileLabels::RegisterJSONConverter( |
| 614 base::JSONValueConverter<FileLabels>* converter) { |
| 615 converter->RegisterBoolField(kLabelStarred, &FileLabels::starred_); |
| 616 converter->RegisterBoolField(kLabelHidden, &FileLabels::hidden_); |
| 617 converter->RegisterBoolField(kLabelTrashed, &FileLabels::trashed_); |
| 618 converter->RegisterBoolField(kLabelRestricted, &FileLabels::restricted_); |
| 619 converter->RegisterBoolField(kLabelViewed, &FileLabels::viewed_); |
| 620 } |
| 621 |
| 622 // static |
| 623 scoped_ptr<FileLabels> FileLabels::CreateFrom(const base::Value& value) { |
| 624 scoped_ptr<FileLabels> resource(new FileLabels()); |
| 625 if (!resource->Parse(value)) { |
| 626 LOG(ERROR) << "Unable to create: Invalid FileLabels JSON!"; |
| 627 return scoped_ptr<FileLabels>(NULL); |
| 628 } |
| 629 return resource.Pass(); |
| 630 } |
| 631 |
| 632 bool FileLabels::Parse(const base::Value& value) { |
| 633 base::JSONValueConverter<FileLabels> converter; |
| 634 if (!converter.Convert(value, this)) { |
| 635 LOG(ERROR) << "Unable to parse: Invalid FileLabels"; |
| 636 return false; |
| 637 } |
| 638 return true; |
| 639 } |
| 640 |
591 } // namespace gdata | 641 } // namespace gdata |
OLD | NEW |