Index: sync/engine/model_type_entity.h |
diff --git a/sync/engine/model_type_entity.h b/sync/engine/model_type_entity.h |
index abc67a95a4d3026dfc455e04bb5df8cdb4b0f75c..e05d469582ca0e4d383671f7cce0dc2839e049a1 100644 |
--- a/sync/engine/model_type_entity.h |
+++ b/sync/engine/model_type_entity.h |
@@ -46,7 +46,8 @@ class SYNC_EXPORT_PRIVATE ModelTypeEntity { |
const sync_pb::EntitySpecifics& specifics, |
bool deleted, |
base::Time ctime, |
- base::Time mtime); |
+ base::Time mtime, |
+ const std::string& encryption_key_name); |
// TODO(rlarocque): Implement FromDisk constructor when we implement storage. |
@@ -79,11 +80,17 @@ class SYNC_EXPORT_PRIVATE ModelTypeEntity { |
void ApplyUpdateFromServer(int64 update_version, |
bool deleted, |
const sync_pb::EntitySpecifics& specifics, |
- base::Time mtime); |
+ base::Time mtime, |
+ const std::string& encryption_key_name); |
// Applies a local change to this item. |
void MakeLocalChange(const sync_pb::EntitySpecifics& specifics); |
+ // Schedule a commit if the |name| does not match this item's last known |
+ // encryption key. The worker that performs the commit is expected to |
+ // encrypt the item using the latest available key. |
+ void UpdateDesiredEncryptionKey(const std::string& name); |
+ |
// Applies a local deletion to this item. |
void Delete(); |
@@ -104,7 +111,8 @@ class SYNC_EXPORT_PRIVATE ModelTypeEntity { |
// reached the server. |
void ReceiveCommitResponse(const std::string& id, |
int64 sequence_number, |
- int64 response_version); |
+ int64 response_version, |
+ const std::string& encryption_key_name); |
// Clears any in-memory sync state associated with outstanding commits. |
void ClearTransientSyncState(); |
@@ -124,7 +132,8 @@ class SYNC_EXPORT_PRIVATE ModelTypeEntity { |
const sync_pb::EntitySpecifics& specifics, |
bool deleted, |
base::Time ctime, |
- base::Time mtime); |
+ base::Time mtime, |
+ const std::string& encryption_key_name); |
// A sequence number used to track in-progress commits. Each local change |
// increments this number. |
@@ -185,6 +194,10 @@ class SYNC_EXPORT_PRIVATE ModelTypeEntity { |
// doesn't bother to inspect their values. |
base::Time ctime_; |
base::Time mtime_; |
+ |
+ // The name of the encryption key used to encrypt this item on the server. |
+ // Empty when no encryption is in use. |
+ std::string encryption_key_name_; |
}; |
} // namespace syncer |