Chromium Code Reviews| Index: chrome/browser/drive/gdata_wapi_service.cc |
| diff --git a/chrome/browser/drive/gdata_wapi_service.cc b/chrome/browser/drive/gdata_wapi_service.cc |
| index 8b6e9eb8fc5cd58a6241d73740b5246664fb76e5..47b588892ff86043dce127016c040942efabf740 100644 |
| --- a/chrome/browser/drive/gdata_wapi_service.cc |
| +++ b/chrome/browser/drive/gdata_wapi_service.cc |
| @@ -38,6 +38,7 @@ using google_apis::DeleteResourceRequest; |
| using google_apis::DownloadActionCallback; |
| using google_apis::DownloadFileRequest; |
| using google_apis::EntryActionCallback; |
| +using google_apis::FileResource; |
| using google_apis::GDATA_PARSE_ERROR; |
| using google_apis::GDataErrorCode; |
| using google_apis::GetAccountMetadataRequest; |
| @@ -53,6 +54,7 @@ using google_apis::InitiateUploadCallback; |
| using google_apis::InitiateUploadExistingFileRequest; |
| using google_apis::InitiateUploadNewFileRequest; |
| using google_apis::Link; |
| +using google_apis::ParentReference; |
| using google_apis::ProgressCallback; |
| using google_apis::RemoveResourceFromDirectoryRequest; |
| using google_apis::RenameResourceRequest; |
| @@ -146,6 +148,69 @@ GDataWapiService::~GDataWapiService() { |
| sender_->auth_service()->RemoveObserver(this); |
| } |
| +scoped_ptr<FileResource> GDataWapiService::ConvertResourceEntryToFileResource( |
| + const ResourceEntry& entry) { |
| + return scoped_ptr<FileResource>(); |
| + scoped_ptr<FileResource> file(new FileResource()); |
| + |
| + // FileResource |
| + file->set_file_id(entry.resource_id()); |
| + file->set_title(entry.title()); |
| + file->set_created_date(entry.published_time()); |
| + |
| + if (std::find(entry.labels().begin(), entry.labels().end(), |
| + "shared-with-me") == entry.labels().end()) { |
| + file->set_shared_with_me_date(base::Time::Now()); |
|
hidehiko
2013/09/09 03:51:59
Could you add comment, why this doesn't break the
tzik
2013/09/09 06:22:58
Done.
|
| + } |
| + |
| + file->set_download_url(entry.download_url()); |
| + file->set_mime_type(entry.content_mime_type()); |
| + |
| + file->set_md5_checksum(entry.file_md5()); |
| + file->set_file_size(entry.file_size()); |
| + |
| + file->mutable_labels()->set_trashed(entry.deleted()); |
| + file->set_etag(entry.etag()); |
| + |
| + ScopedVector<ParentReference> parents; |
| + for (ScopedVector<Link>::const_iterator itr = entry.links().begin(); |
|
hidehiko
2013/09/09 03:51:59
IIUC, we use size_t i for iteration of vector in d
tzik
2013/09/09 06:22:58
Done.
|
| + itr != entry.links().end(); ++itr) { |
| + const Link& link = **itr; |
| + switch (link.type()) { |
| + case Link::LINK_PARENT: { |
| + scoped_ptr<ParentReference> parent(new ParentReference); |
| + parent->set_parent_link(link.href()); |
| + |
| + std::string file_id = |
| + drive::util::ExtractResourceIdFromUrl(link.href()); |
| + parent->set_is_root(file_id == "folder:root"); |
| + parents.push_back(parent.release()); |
| + break; |
| + } |
| + case Link::LINK_EDIT: |
| + file->set_self_link(link.href()); |
| + break; |
| + case Link::LINK_THUMBNAIL: |
| + file->set_thumbnail_link(link.href()); |
| + break; |
| + case Link::LINK_ALTERNATE: |
| + file->set_alternate_link(link.href()); |
| + break; |
| + case Link::LINK_EMBED: |
| + file->set_embed_link(link.href()); |
| + break; |
| + default: |
| + break; |
| + } |
| + } |
| + file->set_parents(parents.Pass()); |
| + |
| + file->set_modified_date(entry.updated_time()); |
| + file->set_last_viewed_by_me_date(entry.last_viewed_time()); |
| + |
| + return file.Pass(); |
| +} |
| + |
| void GDataWapiService::Initialize() { |
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |