summaryrefslogtreecommitdiffstats
path: root/sync/api/sync_data.cc
diff options
context:
space:
mode:
authortim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-15 22:29:29 +0000
committertim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-15 22:29:29 +0000
commit7d91f6470eee9c6f2ada907bb91a5fde7d1595f8 (patch)
tree7ea825b1205736405b2b9166b63a5274189e59af /sync/api/sync_data.cc
parentc0a0bd7db307ec9f5bc6961e2d6fd59fe7599f2b (diff)
downloadchromium_src-7d91f6470eee9c6f2ada907bb91a5fde7d1595f8.zip
chromium_src-7d91f6470eee9c6f2ada907bb91a5fde7d1595f8.tar.gz
chromium_src-7d91f6470eee9c6f2ada907bb91a5fde7d1595f8.tar.bz2
sync: Add remote modification time to SyncData.
This is required for building session sync on top of Sync API. TBR=zea@chromium.org ^ themes OWNERS ^ history OWNERS ^ managed_mode OWNERS BUG=98892, 80194 Review URL: https://codereview.chromium.org/18873006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211722 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/api/sync_data.cc')
-rw-r--r--sync/api/sync_data.cc17
1 files changed, 13 insertions, 4 deletions
diff --git a/sync/api/sync_data.cc b/sync/api/sync_data.cc
index 8df5eae..d52e04e 100644
--- a/sync/api/sync_data.cc
+++ b/sync/api/sync_data.cc
@@ -46,9 +46,12 @@ SyncData::SyncData()
: is_valid_(false),
id_(kInvalidId) {}
-SyncData::SyncData(int64 id, sync_pb::SyncEntity* entity)
+SyncData::SyncData(int64 id,
+ sync_pb::SyncEntity* entity,
+ const base::Time& remote_modification_time)
: is_valid_(true),
id_(id),
+ remote_modification_time_(remote_modification_time),
immutable_entity_(entity) {}
SyncData::~SyncData() {}
@@ -71,16 +74,17 @@ SyncData SyncData::CreateLocalData(
entity.set_client_defined_unique_tag(sync_tag);
entity.set_non_unique_name(non_unique_title);
entity.mutable_specifics()->CopyFrom(specifics);
- return SyncData(kInvalidId, &entity);
+ return SyncData(kInvalidId, &entity, base::Time());
}
// Static.
SyncData SyncData::CreateRemoteData(
- int64 id, const sync_pb::EntitySpecifics& specifics) {
+ int64 id, const sync_pb::EntitySpecifics& specifics,
+ const base::Time& modification_time) {
DCHECK_NE(id, kInvalidId);
sync_pb::SyncEntity entity;
entity.mutable_specifics()->CopyFrom(specifics);
- return SyncData(id, &entity);
+ return SyncData(id, &entity, modification_time);
}
bool SyncData::IsValid() const {
@@ -106,6 +110,11 @@ const std::string& SyncData::GetTitle() const {
return immutable_entity_.Get().non_unique_name();
}
+const base::Time& SyncData::GetRemoteModifiedTime() const {
+ DCHECK(!IsLocal());
+ return remote_modification_time_;
+}
+
int64 SyncData::GetRemoteId() const {
DCHECK(!IsLocal());
return id_;