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

Side by Side Diff: chrome/browser/chromeos/gdata/drive_api_parser.cc

Issue 10855017: Add missing fields in Drive V2 API parser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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
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/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 20 matching lines...) Expand all
31 } 31 }
32 32
33 // Drive v2 API JSON names. 33 // Drive v2 API JSON names.
34 34
35 // Common 35 // Common
36 const char kKind[] = "kind"; 36 const char kKind[] = "kind";
37 const char kId[] = "id"; 37 const char kId[] = "id";
38 const char kETag[] = "etag"; 38 const char kETag[] = "etag";
39 const char kItems[] = "items"; 39 const char kItems[] = "items";
40 const char kLargestChangeId[] = "largestChangeId"; 40 const char kLargestChangeId[] = "largestChangeId";
41 const char kSelfLink[] = "selfLink";
41 42
42 // About Resource: 43 // About Resource:
43 const char kAboutKind[] = "drive#about"; 44 const char kAboutKind[] = "drive#about";
44 const char kRootFolderId[] = "rootFolderId"; 45 const char kRootFolderId[] = "rootFolderId";
45 const char kQuotaBytesTotal[] = "quotaBytesTotal"; 46 const char kQuotaBytesTotal[] = "quotaBytesTotal";
46 const char kQuotaBytesUsed[] = "quotaBytesUsed"; 47 const char kQuotaBytesUsed[] = "quotaBytesUsed";
47 48
48 // App Icon: 49 // App Icon:
49 const char kCategory[] = "category"; 50 const char kCategory[] = "category";
50 const char kSize[] = "size"; 51 const char kSize[] = "size";
(...skipping 12 matching lines...) Expand all
63 const char kSecondaryMimeTypes[] = "secondaryMimeTypes"; 64 const char kSecondaryMimeTypes[] = "secondaryMimeTypes";
64 const char kPrimaryFileExtensions[] = "primaryFileExtensions"; 65 const char kPrimaryFileExtensions[] = "primaryFileExtensions";
65 const char kSecondaryFileExtensions[] = "secondaryFileExtensions"; 66 const char kSecondaryFileExtensions[] = "secondaryFileExtensions";
66 const char kIcons[] = "icons"; 67 const char kIcons[] = "icons";
67 68
68 // Apps List: 69 // Apps List:
69 const char kAppListKind[] = "drive#appList"; 70 const char kAppListKind[] = "drive#appList";
70 71
71 // Parent Resource: 72 // Parent Resource:
72 const char kParentReferenceKind[] = "drive#parentReference"; 73 const char kParentReferenceKind[] = "drive#parentReference";
74 const char kParentLink[] = "parentLink";
73 const char kIsRoot[] = "isRoot"; 75 const char kIsRoot[] = "isRoot";
74 76
75 // File Resource: 77 // File Resource:
76 const char kFileKind[] = "drive#file"; 78 const char kFileKind[] = "drive#file";
77 const char kMimeType[] = "mimeType"; 79 const char kMimeType[] = "mimeType";
78 const char kTitle[] = "title"; 80 const char kTitle[] = "title";
81 const char kCreatedDate[] = "createdDate";
79 const char kModifiedByMeDate[] = "modifiedByMeDate"; 82 const char kModifiedByMeDate[] = "modifiedByMeDate";
80 const char kParents[] = "parents"; 83 const char kParents[] = "parents";
81 const char kDownloadUrl[] = "downloadUrl"; 84 const char kDownloadUrl[] = "downloadUrl";
82 const char kFileExtension[] = "fileExtension"; 85 const char kFileExtension[] = "fileExtension";
83 const char kMd5Checksum[] = "md5Checksum"; 86 const char kMd5Checksum[] = "md5Checksum";
84 const char kFileSize[] = "fileSize"; 87 const char kFileSize[] = "fileSize";
88 const char kAlternateLink[] = "alternateLink";
hashimoto 2012/08/07 04:19:02 Is there a policy to order these values? If so, pl
kochi 2012/08/07 05:24:37 Basically this order follows the order in Drive V2
89 const char kEmbedLink[] = "embedLink";
90 const char kThumbnailLink[] = "thumbnailLink";
91 const char kWebContentLink[] = "webContentLink";
92 const char kExplicitlyTrashed[] = "explicitlyTrashed";
hashimoto 2012/08/07 04:19:02 What is this for?
kochi 2012/08/07 05:24:37 Removed.
85 93
86 const char kDriveFolderMimeType[] = "application/vnd.google-apps.folder"; 94 const char kDriveFolderMimeType[] = "application/vnd.google-apps.folder";
87 95
88 // Files List: 96 // Files List:
89 const char kFileListKind[] = "drive#fileList"; 97 const char kFileListKind[] = "drive#fileList";
90 const char kNextPageToken[] = "nextPageToken"; 98 const char kNextPageToken[] = "nextPageToken";
91 const char kNextLink[] = "nextLink"; 99 const char kNextLink[] = "nextLink";
92 100
93 // Change Resource: 101 // Change Resource:
94 const char kChangeKind[] = "drive#change"; 102 const char kChangeKind[] = "drive#change";
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 // ParentReference implementation 320 // ParentReference implementation
313 321
314 ParentReference::ParentReference() : is_root_(false) {} 322 ParentReference::ParentReference() : is_root_(false) {}
315 323
316 ParentReference::~ParentReference() {} 324 ParentReference::~ParentReference() {}
317 325
318 // static 326 // static
319 void ParentReference::RegisterJSONConverter( 327 void ParentReference::RegisterJSONConverter(
320 base::JSONValueConverter<ParentReference>* converter) { 328 base::JSONValueConverter<ParentReference>* converter) {
321 converter->RegisterStringField(kId, &ParentReference::file_id_); 329 converter->RegisterStringField(kId, &ParentReference::file_id_);
330 converter->RegisterCustomField<GURL>(kParentLink,
331 &ParentReference::parent_link_,
332 GetGURLFromString);
322 converter->RegisterBoolField(kIsRoot, &ParentReference::is_root_); 333 converter->RegisterBoolField(kIsRoot, &ParentReference::is_root_);
323 } 334 }
324 335
325 // static 336 // static
326 scoped_ptr<ParentReference> 337 scoped_ptr<ParentReference>
327 ParentReference::CreateFrom(const base::Value& value) { 338 ParentReference::CreateFrom(const base::Value& value) {
328 scoped_ptr<ParentReference> reference(new ParentReference()); 339 scoped_ptr<ParentReference> reference(new ParentReference());
329 if (!IsResourceKindExpected(value, kParentReferenceKind) || 340 if (!IsResourceKindExpected(value, kParentReferenceKind) ||
330 !reference->Parse(value)) { 341 !reference->Parse(value)) {
331 LOG(ERROR) << "Unable to create: Invalid ParentRefernce JSON!"; 342 LOG(ERROR) << "Unable to create: Invalid ParentRefernce JSON!";
(...skipping 19 matching lines...) Expand all
351 FileResource::~FileResource() {} 362 FileResource::~FileResource() {}
352 363
353 // static 364 // static
354 void FileResource::RegisterJSONConverter( 365 void FileResource::RegisterJSONConverter(
355 base::JSONValueConverter<FileResource>* converter) { 366 base::JSONValueConverter<FileResource>* converter) {
356 converter->RegisterStringField(kId, &FileResource::file_id_); 367 converter->RegisterStringField(kId, &FileResource::file_id_);
357 converter->RegisterStringField(kETag, &FileResource::etag_); 368 converter->RegisterStringField(kETag, &FileResource::etag_);
358 converter->RegisterStringField(kMimeType, &FileResource::mime_type_); 369 converter->RegisterStringField(kMimeType, &FileResource::mime_type_);
359 converter->RegisterStringField(kTitle, &FileResource::title_); 370 converter->RegisterStringField(kTitle, &FileResource::title_);
360 converter->RegisterCustomField<base::Time>( 371 converter->RegisterCustomField<base::Time>(
372 kCreatedDate,
373 &FileResource::created_date_,
374 &gdata::util::GetTimeFromString);
375 converter->RegisterCustomField<base::Time>(
361 kModifiedByMeDate, 376 kModifiedByMeDate,
362 &FileResource::modified_by_me_date_, 377 &FileResource::modified_by_me_date_,
363 &gdata::util::GetTimeFromString); 378 &gdata::util::GetTimeFromString);
364 converter->RegisterRepeatedMessage<ParentReference>(kParents, 379 converter->RegisterRepeatedMessage<ParentReference>(kParents,
365 &FileResource::parents_); 380 &FileResource::parents_);
366 converter->RegisterCustomField<GURL>(kDownloadUrl,
367 &FileResource::download_url_,
368 GetGURLFromString);
369 converter->RegisterStringField(kFileExtension, 381 converter->RegisterStringField(kFileExtension,
370 &FileResource::file_extension_); 382 &FileResource::file_extension_);
371 converter->RegisterStringField(kMd5Checksum, &FileResource::md5_checksum_); 383 converter->RegisterStringField(kMd5Checksum, &FileResource::md5_checksum_);
372 converter->RegisterCustomField<int64>(kFileSize, 384 converter->RegisterCustomField<int64>(kFileSize,
373 &FileResource::file_size_, 385 &FileResource::file_size_,
374 &base::StringToInt64); 386 &base::StringToInt64);
387 converter->RegisterCustomField<GURL>(kDownloadUrl,
388 &FileResource::download_url_,
389 GetGURLFromString);
390 converter->RegisterCustomField<GURL>(kSelfLink,
391 &FileResource::self_link_,
392 GetGURLFromString);
393 converter->RegisterCustomField<GURL>(kAlternateLink,
394 &FileResource::alternate_link_,
395 GetGURLFromString);
396 converter->RegisterCustomField<GURL>(kEmbedLink,
397 &FileResource::embed_link_,
398 GetGURLFromString);
399 converter->RegisterCustomField<GURL>(kThumbnailLink,
400 &FileResource::thumbnail_link_,
401 GetGURLFromString);
402 converter->RegisterCustomField<GURL>(kWebContentLink,
403 &FileResource::web_content_link_,
404 GetGURLFromString);
375 } 405 }
376 406
377 // static 407 // static
378 scoped_ptr<FileResource> FileResource::CreateFrom(const base::Value& value) { 408 scoped_ptr<FileResource> FileResource::CreateFrom(const base::Value& value) {
379 scoped_ptr<FileResource> resource(new FileResource()); 409 scoped_ptr<FileResource> resource(new FileResource());
380 if (!IsResourceKindExpected(value, kFileKind) || !resource->Parse(value)) { 410 if (!IsResourceKindExpected(value, kFileKind) || !resource->Parse(value)) {
381 LOG(ERROR) << "Unable to create: Invalid FileResource JSON!"; 411 LOG(ERROR) << "Unable to create: Invalid FileResource JSON!";
382 return scoped_ptr<FileResource>(NULL); 412 return scoped_ptr<FileResource>(NULL);
383 } 413 }
384 return resource.Pass(); 414 return resource.Pass();
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
509 bool ChangeList::Parse(const base::Value& value) { 539 bool ChangeList::Parse(const base::Value& value) {
510 base::JSONValueConverter<ChangeList> converter; 540 base::JSONValueConverter<ChangeList> converter;
511 if (!converter.Convert(value, this)) { 541 if (!converter.Convert(value, this)) {
512 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; 542 LOG(ERROR) << "Unable to parse: Invalid ChangeList";
513 return false; 543 return false;
514 } 544 }
515 return true; 545 return true;
516 } 546 }
517 547
518 } // namespace gdata 548 } // namespace gdata
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/gdata/drive_api_parser.h ('k') | chrome/browser/chromeos/gdata/drive_api_parser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698