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 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 // static | 383 // static |
377 void FileResource::RegisterJSONConverter( | 384 void FileResource::RegisterJSONConverter( |
378 base::JSONValueConverter<FileResource>* converter) { | 385 base::JSONValueConverter<FileResource>* converter) { |
379 converter->RegisterStringField(kId, &FileResource::file_id_); | 386 converter->RegisterStringField(kId, &FileResource::file_id_); |
380 converter->RegisterStringField(kETag, &FileResource::etag_); | 387 converter->RegisterStringField(kETag, &FileResource::etag_); |
381 converter->RegisterCustomField<GURL>(kSelfLink, | 388 converter->RegisterCustomField<GURL>(kSelfLink, |
382 &FileResource::self_link_, | 389 &FileResource::self_link_, |
383 GetGURLFromString); | 390 GetGURLFromString); |
384 converter->RegisterStringField(kTitle, &FileResource::title_); | 391 converter->RegisterStringField(kTitle, &FileResource::title_); |
385 converter->RegisterStringField(kMimeType, &FileResource::mime_type_); | 392 converter->RegisterStringField(kMimeType, &FileResource::mime_type_); |
| 393 converter->RegisterNestedField(kLabels, &FileResource::labels_); |
386 converter->RegisterCustomField<base::Time>( | 394 converter->RegisterCustomField<base::Time>( |
387 kCreatedDate, | 395 kCreatedDate, |
388 &FileResource::created_date_, | 396 &FileResource::created_date_, |
389 &gdata::util::GetTimeFromString); | 397 &gdata::util::GetTimeFromString); |
390 converter->RegisterCustomField<base::Time>( | 398 converter->RegisterCustomField<base::Time>( |
391 kModifiedByMeDate, | 399 kModifiedByMeDate, |
392 &FileResource::modified_by_me_date_, | 400 &FileResource::modified_by_me_date_, |
393 &gdata::util::GetTimeFromString); | 401 &gdata::util::GetTimeFromString); |
394 converter->RegisterCustomField<GURL>(kDownloadUrl, | 402 converter->RegisterCustomField<GURL>(kDownloadUrl, |
395 &FileResource::download_url_, | 403 &FileResource::download_url_, |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
551 | 559 |
552 bool ChangeList::Parse(const base::Value& value) { | 560 bool ChangeList::Parse(const base::Value& value) { |
553 base::JSONValueConverter<ChangeList> converter; | 561 base::JSONValueConverter<ChangeList> converter; |
554 if (!converter.Convert(value, this)) { | 562 if (!converter.Convert(value, this)) { |
555 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; | 563 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; |
556 return false; | 564 return false; |
557 } | 565 } |
558 return true; | 566 return true; |
559 } | 567 } |
560 | 568 |
| 569 |
| 570 //////////////////////////////////////////////////////////////////////////////// |
| 571 // FileLabels implementation |
| 572 |
| 573 FileLabels::FileLabels() |
| 574 : starred_(false), |
| 575 hidden_(false), |
| 576 trashed_(false), |
| 577 restricted_(false), |
| 578 viewed_(false) {} |
| 579 |
| 580 FileLabels::~FileLabels() {} |
| 581 |
| 582 // static |
| 583 void FileLabels::RegisterJSONConverter( |
| 584 base::JSONValueConverter<FileLabels>* converter) { |
| 585 converter->RegisterBoolField(kLabelStarred, &FileLabels::starred_); |
| 586 converter->RegisterBoolField(kLabelHidden, &FileLabels::hidden_); |
| 587 converter->RegisterBoolField(kLabelTrashed, &FileLabels::trashed_); |
| 588 converter->RegisterBoolField(kLabelRestricted, &FileLabels::restricted_); |
| 589 converter->RegisterBoolField(kLabelViewed, &FileLabels::viewed_); |
| 590 } |
| 591 |
| 592 // static |
| 593 scoped_ptr<FileLabels> FileLabels::CreateFrom(const base::Value& value) { |
| 594 scoped_ptr<FileLabels> resource(new FileLabels()); |
| 595 if (!resource->Parse(value)) { |
| 596 LOG(ERROR) << "Unable to create: Invalid FileLabels JSON!"; |
| 597 return scoped_ptr<FileLabels>(NULL); |
| 598 } |
| 599 return resource.Pass(); |
| 600 } |
| 601 |
| 602 bool FileLabels::Parse(const base::Value& value) { |
| 603 base::JSONValueConverter<FileLabels> converter; |
| 604 if (!converter.Convert(value, this)) { |
| 605 LOG(ERROR) << "Unable to parse: Invalid FileLabels"; |
| 606 return false; |
| 607 } |
| 608 return true; |
| 609 } |
| 610 |
561 } // namespace gdata | 611 } // namespace gdata |
OLD | NEW |