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

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

Issue 23437026: [Drive] Add converter from ResourceEntry to FileResource (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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/drive_api_util.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/drive_api_util.cc
diff --git a/chrome/browser/drive/drive_api_util.cc b/chrome/browser/drive/drive_api_util.cc
index 48b9b227cb6d2c0b1b48f6e5d863daddfbfef748..48ba22e3a872d98cbdd282de6d89dfc70f23d873 100644
--- a/chrome/browser/drive/drive_api_util.cc
+++ b/chrome/browser/drive/drive_api_util.cc
@@ -14,6 +14,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/browser/drive/drive_switches.h"
+#include "chrome/browser/google_apis/drive_api_parser.h"
#include "chrome/browser/google_apis/gdata_wapi_parser.h"
#include "content/public/browser/browser_thread.h"
#include "net/base/escape.h"
@@ -157,6 +158,71 @@ void ParseShareUrlAndRun(const google_apis::GetShareUrlCallback& callback,
callback.Run(error, share_link ? share_link->href() : GURL());
}
+scoped_ptr<google_apis::FileResource> ConvertResourceEntryToFileResource(
+ const google_apis::ResourceEntry& entry) {
+ scoped_ptr<google_apis::FileResource> file(new google_apis::FileResource);
+
+ // FileResource
hidehiko 2013/09/09 06:30:08 nit: you don't need this comment.
tzik 2013/09/09 06:50:59 Done.
+ 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()) {
+ // Set current time to mark the file is shared_with_me, since ResourceEntry
+ // doesn't have |shared_with_me_date| equivalent.
+ 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<google_apis::ParentReference> parents;
+ for (size_t i = 0; i < entry.links().size(); ++i) {
+ using google_apis::Link;
+ const Link& link = *entry.links()[i];
+ switch (link.type()) {
+ case Link::LINK_PARENT: {
+ scoped_ptr<google_apis::ParentReference> parent(
+ new google_apis::ParentReference);
+ parent->set_parent_link(link.href());
+
+ std::string file_id =
+ drive::util::ExtractResourceIdFromUrl(link.href());
+ parent->set_is_root(file_id == kWapiRootDirectoryResourceId);
+ 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();
+}
+
const char kWapiRootDirectoryResourceId[] = "folder:root";
} // namespace util
« no previous file with comments | « chrome/browser/drive/drive_api_util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698