summaryrefslogtreecommitdiffstats
path: root/chrome/browser/google_apis/gdata_wapi_parser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/google_apis/gdata_wapi_parser.cc')
-rw-r--r--chrome/browser/google_apis/gdata_wapi_parser.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/chrome/browser/google_apis/gdata_wapi_parser.cc b/chrome/browser/google_apis/gdata_wapi_parser.cc
index ccf6edc..c6f649f 100644
--- a/chrome/browser/google_apis/gdata_wapi_parser.cc
+++ b/chrome/browser/google_apis/gdata_wapi_parser.cc
@@ -68,6 +68,7 @@ const char kWritersCanInviteNode[] = "writersCanInvite";
// Field names.
const char kAuthorField[] = "author";
const char kCategoryField[] = "category";
+const char kChangestampField[] = "docs$changestamp.value";
const char kContentField[] = "content";
const char kDeletedField[] = "gd$deleted";
const char kETagField[] = "gd$etag";
@@ -593,7 +594,8 @@ DocumentEntry::DocumentEntry()
: kind_(ENTRY_KIND_UNKNOWN),
file_size_(0),
deleted_(false),
- removed_(false) {
+ removed_(false),
+ changestamp_(0) {
}
DocumentEntry::~DocumentEntry() {
@@ -605,6 +607,22 @@ bool DocumentEntry::HasFieldPresent(const base::Value* value,
return true;
}
+bool DocumentEntry::ParseChangestamp(const base::Value* value,
+ int64* result) {
+ DCHECK(result);
+ if (!value) {
+ *result = 0;
+ return true;
+ }
+
+ std::string string_value;
+ if (value->GetAsString(&string_value) &&
+ base::StringToInt64(string_value, result))
+ return true;
+
+ return false;
+}
+
// static
void DocumentEntry::RegisterJSONConverter(
base::JSONValueConverter<DocumentEntry>* converter) {
@@ -640,6 +658,9 @@ void DocumentEntry::RegisterJSONConverter(
kDeletedField, &DocumentEntry::deleted_, &DocumentEntry::HasFieldPresent);
converter->RegisterCustomValueField<bool>(
kRemovedField, &DocumentEntry::removed_, &DocumentEntry::HasFieldPresent);
+ converter->RegisterCustomValueField<int64>(
+ kChangestampField, &DocumentEntry::changestamp_,
+ &DocumentEntry::ParseChangestamp);
}
std::string DocumentEntry::GetHostedDocumentExtension() const {