| 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..c9630c618b5dde7c124bb4da43466fe44ca79bcf 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,68 @@ GDataWapiService::~GDataWapiService() {
|
| sender_->auth_service()->RemoveObserver(this);
|
| }
|
|
|
| +scoped_ptr<FileResource> GDataWapiService::ConvertResourceEntryToFileResource(
|
| + const ResourceEntry& entry) {
|
| + 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());
|
| + }
|
| +
|
| + 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();
|
| + 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));
|
|
|
|
|