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" |
11 #include "base/json/json_value_converter.h" | 11 #include "base/json/json_value_converter.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/string_number_conversions.h" | 13 #include "base/string_number_conversions.h" |
14 #include "base/string_piece.h" | 14 #include "base/string_piece.h" |
15 #include "base/string_util.h" | 15 #include "base/string_util.h" |
16 #include "base/values.h" | 16 #include "base/values.h" |
17 #include "chrome/browser/chromeos/gdata/gdata_util.h" | 17 #include "chrome/browser/chromeos/gdata/gdata_util.h" |
18 #include "chrome/browser/chromeos/gdata/gdata_wapi_parser.h" | |
18 | 19 |
19 using base::Value; | 20 using base::Value; |
20 using base::DictionaryValue; | 21 using base::DictionaryValue; |
21 using base::ListValue; | 22 using base::ListValue; |
22 | 23 |
23 namespace { | 24 namespace { |
24 | 25 |
25 // Converts |url_string| to |result|. Always returns true to be used | 26 // Converts |url_string| to |result|. Always returns true to be used |
26 // for JSONValueConverter::RegisterCustomField method. | 27 // for JSONValueConverter::RegisterCustomField method. |
27 // TODO(mukai): make it return false in case of invalid |url_string|. | 28 // TODO(mukai): make it return false in case of invalid |url_string|. |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
111 // https://developers.google.com/drive/v2/reference/changes | 112 // https://developers.google.com/drive/v2/reference/changes |
112 const char kChangeKind[] = "drive#change"; | 113 const char kChangeKind[] = "drive#change"; |
113 const char kFileId[] = "fileId"; | 114 const char kFileId[] = "fileId"; |
114 const char kDeleted[] = "deleted"; | 115 const char kDeleted[] = "deleted"; |
115 const char kFile[] = "file"; | 116 const char kFile[] = "file"; |
116 | 117 |
117 // Changes List | 118 // Changes List |
118 // https://developers.google.com/drive/v2/reference/changes/list | 119 // https://developers.google.com/drive/v2/reference/changes/list |
119 const char kChangeListKind[] = "drive#changeList"; | 120 const char kChangeListKind[] = "drive#changeList"; |
120 | 121 |
122 // Google Apps MIME types: | |
123 const char kGoogleDocumentMimeType[] = "application/vnd.google-apps.document"; | |
124 const char kGoogleDrawingMimeType[] = "application/vnd.google-apps.drawing"; | |
125 const char kGoogleFormMimeType[] = "application/vnd.google-apps.form"; | |
126 const char kGooglePresentationMimeType[] = | |
127 "application/vnd.google-apps.presentation"; | |
128 const char kGoogleScriptMimeType[] = "application/vnd.google-apps.script"; | |
129 const char kGoogleSiteMimeType[] = "application/vnd.google-apps.site"; | |
130 const char kGoogleSpreadsheetMimeType[] = | |
131 "application/vnd.google-apps.spreadsheet"; | |
132 const char kGoogleTableMimeType[] = "application/vnd.google-apps.table"; | |
133 | |
121 // Maps category name to enum IconCategory. | 134 // Maps category name to enum IconCategory. |
122 struct AppIconCategoryMap { | 135 struct AppIconCategoryMap { |
123 gdata::DriveAppIcon::IconCategory category; | 136 gdata::DriveAppIcon::IconCategory category; |
124 const char* category_name; | 137 const char* category_name; |
125 }; | 138 }; |
126 | 139 |
127 const AppIconCategoryMap kAppIconCategoryMap[] = { | 140 const AppIconCategoryMap kAppIconCategoryMap[] = { |
128 { gdata::DriveAppIcon::DOCUMENT, "document" }, | 141 { gdata::DriveAppIcon::DOCUMENT, "document" }, |
129 { gdata::DriveAppIcon::APPLICATION, "application" }, | 142 { gdata::DriveAppIcon::APPLICATION, "application" }, |
130 { gdata::DriveAppIcon::SHARED_DOCUMENT, "documentShared" }, | 143 { gdata::DriveAppIcon::SHARED_DOCUMENT, "documentShared" }, |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
423 LOG(ERROR) << "Unable to create: Invalid FileResource JSON!"; | 436 LOG(ERROR) << "Unable to create: Invalid FileResource JSON!"; |
424 return scoped_ptr<FileResource>(NULL); | 437 return scoped_ptr<FileResource>(NULL); |
425 } | 438 } |
426 return resource.Pass(); | 439 return resource.Pass(); |
427 } | 440 } |
428 | 441 |
429 bool FileResource::IsDirectory() const { | 442 bool FileResource::IsDirectory() const { |
430 return mime_type_ == kDriveFolderMimeType; | 443 return mime_type_ == kDriveFolderMimeType; |
431 } | 444 } |
432 | 445 |
446 DocumentEntry::EntryKind FileResource::GetKind() const { | |
447 if (mime_type() == kGoogleDocumentMimeType) | |
448 return DocumentEntry::DOCUMENT; | |
449 if (mime_type() == kGoogleSpreadsheetMimeType) | |
450 return DocumentEntry::SPREADSHEET; | |
451 if (mime_type() == kGooglePresentationMimeType) | |
452 return DocumentEntry::PRESENTATION; | |
453 if (mime_type() == kGoogleDrawingMimeType) | |
454 return DocumentEntry::DRAWING; | |
455 if (mime_type() == kGoogleTableMimeType) | |
456 return DocumentEntry::TABLE; | |
457 if (mime_type() == kDriveFolderMimeType) | |
458 return DocumentEntry::FOLDER; | |
459 if (mime_type() == "application/pdf") | |
460 return DocumentEntry::PDF; | |
461 return DocumentEntry::FILE; | |
satorux1
2012/08/10 18:14:34
I think the changes in drive_api_parser.h/cc can b
kochi
2012/08/13 09:08:39
Done.
https://chromiumcodereview.appspot.com/10828
| |
462 } | |
463 | |
433 bool FileResource::Parse(const base::Value& value) { | 464 bool FileResource::Parse(const base::Value& value) { |
434 base::JSONValueConverter<FileResource> converter; | 465 base::JSONValueConverter<FileResource> converter; |
435 if (!converter.Convert(value, this)) { | 466 if (!converter.Convert(value, this)) { |
436 LOG(ERROR) << "Unable to parse: Invalid FileResource"; | 467 LOG(ERROR) << "Unable to parse: Invalid FileResource"; |
437 return false; | 468 return false; |
438 } | 469 } |
439 return true; | 470 return true; |
440 } | 471 } |
441 | 472 |
442 //////////////////////////////////////////////////////////////////////////////// | 473 //////////////////////////////////////////////////////////////////////////////// |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
552 bool ChangeList::Parse(const base::Value& value) { | 583 bool ChangeList::Parse(const base::Value& value) { |
553 base::JSONValueConverter<ChangeList> converter; | 584 base::JSONValueConverter<ChangeList> converter; |
554 if (!converter.Convert(value, this)) { | 585 if (!converter.Convert(value, this)) { |
555 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; | 586 LOG(ERROR) << "Unable to parse: Invalid ChangeList"; |
556 return false; | 587 return false; |
557 } | 588 } |
558 return true; | 589 return true; |
559 } | 590 } |
560 | 591 |
561 } // namespace gdata | 592 } // namespace gdata |
OLD | NEW |