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

Unified Diff: chrome/browser/drive/gdata_wapi_service.cc

Issue 23437026: [Drive] Add converter from ResourceEntry to FileResource (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move to gdata_wapi_service Created 7 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/drive/gdata_wapi_service.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
« no previous file with comments | « chrome/browser/drive/gdata_wapi_service.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698