| 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/google_apis/drive_api_parser.h" | 5 #include "chrome/browser/google_apis/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/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 converter->RegisterStringField(kETag, &FileList::etag_); | 616 converter->RegisterStringField(kETag, &FileList::etag_); |
| 617 converter->RegisterStringField(kNextPageToken, &FileList::next_page_token_); | 617 converter->RegisterStringField(kNextPageToken, &FileList::next_page_token_); |
| 618 converter->RegisterCustomField<GURL>(kNextLink, | 618 converter->RegisterCustomField<GURL>(kNextLink, |
| 619 &FileList::next_link_, | 619 &FileList::next_link_, |
| 620 GetGURLFromString); | 620 GetGURLFromString); |
| 621 converter->RegisterRepeatedMessage<FileResource>(kItems, | 621 converter->RegisterRepeatedMessage<FileResource>(kItems, |
| 622 &FileList::items_); | 622 &FileList::items_); |
| 623 } | 623 } |
| 624 | 624 |
| 625 // static | 625 // static |
| 626 bool FileList::HasFileListKind(const base::Value& value) { |
| 627 return IsResourceKindExpected(value, kFileListKind); |
| 628 } |
| 629 |
| 630 // static |
| 626 scoped_ptr<FileList> FileList::CreateFrom(const base::Value& value) { | 631 scoped_ptr<FileList> FileList::CreateFrom(const base::Value& value) { |
| 627 scoped_ptr<FileList> resource(new FileList()); | 632 scoped_ptr<FileList> resource(new FileList()); |
| 628 if (!IsResourceKindExpected(value, kFileListKind) || | 633 if (!HasFileListKind(value) || !resource->Parse(value)) { |
| 629 !resource->Parse(value)) { | |
| 630 LOG(ERROR) << "Unable to create: Invalid FileList JSON!"; | 634 LOG(ERROR) << "Unable to create: Invalid FileList JSON!"; |
| 631 return scoped_ptr<FileList>(NULL); | 635 return scoped_ptr<FileList>(NULL); |
| 632 } | 636 } |
| 633 return resource.Pass(); | 637 return resource.Pass(); |
| 634 } | 638 } |
| 635 | 639 |
| 636 bool FileList::Parse(const base::Value& value) { | 640 bool FileList::Parse(const base::Value& value) { |
| 637 base::JSONValueConverter<FileList> converter; | 641 base::JSONValueConverter<FileList> converter; |
| 638 if (!converter.Convert(value, this)) { | 642 if (!converter.Convert(value, this)) { |
| 639 LOG(ERROR) << "Unable to parse: Invalid FileList"; | 643 LOG(ERROR) << "Unable to parse: Invalid FileList"; |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 696 &ChangeList::next_link_, | 700 &ChangeList::next_link_, |
| 697 GetGURLFromString); | 701 GetGURLFromString); |
| 698 converter->RegisterCustomField<int64>(kLargestChangeId, | 702 converter->RegisterCustomField<int64>(kLargestChangeId, |
| 699 &ChangeList::largest_change_id_, | 703 &ChangeList::largest_change_id_, |
| 700 &base::StringToInt64); | 704 &base::StringToInt64); |
| 701 converter->RegisterRepeatedMessage<ChangeResource>(kItems, | 705 converter->RegisterRepeatedMessage<ChangeResource>(kItems, |
| 702 &ChangeList::items_); | 706 &ChangeList::items_); |
| 703 } | 707 } |
| 704 | 708 |
| 705 // static | 709 // static |
| 710 bool ChangeList::HasChangeListKind(const base::Value& value) { |
| 711 return IsResourceKindExpected(value, kChangeListKind); |
| 712 } |
| 713 |
| 714 // static |
| 706 scoped_ptr<ChangeList> ChangeList::CreateFrom(const base::Value& value) { | 715 scoped_ptr<ChangeList> ChangeList::CreateFrom(const base::Value& value) { |
| 707 scoped_ptr<ChangeList> resource(new ChangeList()); | 716 scoped_ptr<ChangeList> resource(new ChangeList()); |
| 708 if (!IsResourceKindExpected(value, kChangeListKind) || | 717 if (!HasChangeListKind(value) || !resource->Parse(value)) { |
| 709 !resource->Parse(value)) { | |
| 710 LOG(ERROR) << "Unable to create: Invalid ChangeList JSON!"; | 718 LOG(ERROR) << "Unable to create: Invalid ChangeList JSON!"; |
| 711 return scoped_ptr<ChangeList>(NULL); | 719 return scoped_ptr<ChangeList>(NULL); |
| 712 } | 720 } |
| 713 return resource.Pass(); | 721 return resource.Pass(); |
| 714 } | 722 } |
| 715 | 723 |
| 716 bool ChangeList::Parse(const base::Value& value) { | 724 bool ChangeList::Parse(const base::Value& value) { |
| 717 base::JSONValueConverter<ChangeList> converter; | 725 base::JSONValueConverter<ChangeList> converter; |
| 718 if (!converter.Convert(value, this)) { | 726 if (!converter.Convert(value, this)) { |
| 719 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; | 727 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 758 bool FileLabels::Parse(const base::Value& value) { | 766 bool FileLabels::Parse(const base::Value& value) { |
| 759 base::JSONValueConverter<FileLabels> converter; | 767 base::JSONValueConverter<FileLabels> converter; |
| 760 if (!converter.Convert(value, this)) { | 768 if (!converter.Convert(value, this)) { |
| 761 LOG(ERROR) << "Unable to parse: Invalid FileLabels"; | 769 LOG(ERROR) << "Unable to parse: Invalid FileLabels"; |
| 762 return false; | 770 return false; |
| 763 } | 771 } |
| 764 return true; | 772 return true; |
| 765 } | 773 } |
| 766 | 774 |
| 767 } // namespace google_apis | 775 } // namespace google_apis |
| OLD | NEW |