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)); |