Index: chrome/browser/sync/glue/device_info_sync_service.h |
diff --git a/chrome/browser/sync/glue/device_info_sync_service.h b/chrome/browser/sync/glue/device_info_sync_service.h |
index 3313fc42733fbf18d9d80d9ef0f845823507987d..d638e538977481174570cf7732573c233338be7d 100644 |
--- a/chrome/browser/sync/glue/device_info_sync_service.h |
+++ b/chrome/browser/sync/glue/device_info_sync_service.h |
@@ -44,9 +44,18 @@ class DeviceInfoSyncService : public syncer::SyncableService, |
virtual void AddObserver(Observer* observer) OVERRIDE; |
virtual void RemoveObserver(Observer* observer) OVERRIDE; |
+ // Called to update local device backup time. |
+ void UpdateLocalDeviceBackupTime(base::Time backup_time); |
+ // Gets the most recently set local device backup time. |
+ base::Time GetLocalDeviceBackupTime() const; |
+ |
private: |
- // Create SyncData from local DeviceInfo. |
- static syncer::SyncData CreateLocalData(const DeviceInfo* info); |
+ // Create SyncData from local DeviceInfo and |local_device_backup_time_|. |
+ syncer::SyncData CreateLocalData(const DeviceInfo* info); |
+ // Create SyncData from EntitySpecifics. |
+ static syncer::SyncData CreateLocalData( |
+ const sync_pb::EntitySpecifics& entity); |
+ |
// Allocate new DeviceInfo from SyncData. |
static DeviceInfo* CreateDeviceInfo(const syncer::SyncData sync_data); |
// Store SyncData in the cache. |
@@ -57,6 +66,25 @@ class DeviceInfoSyncService : public syncer::SyncableService, |
// Notify all registered observers. |
void NotifyObservers(); |
+ // Updates backup time in place in |sync_data| if it is different than |
+ // the one stored in |local_device_backup_time_|. |
+ // Returns true if backup time was updated. |
+ bool UpdateBackupTime(syncer::SyncData* sync_data); |
+ |
+ // |local_device_backup_time_| accessors. |
+ int64 local_device_backup_time() const { return local_device_backup_time_; } |
+ bool has_local_device_backup_time() const { |
+ return local_device_backup_time_ >= 0; |
+ } |
+ void set_local_device_backup_time(int64 value) { |
+ local_device_backup_time_ = value; |
+ } |
+ void clear_local_device_backup_time() { local_device_backup_time_ = -1; } |
+ |
+ // Local device last set backup time (in proto format). |
+ // -1 if the value hasn't been specified |
+ int64 local_device_backup_time_; |
+ |
// |local_device_info_provider_| isn't owned. |
const LocalDeviceInfoProvider* const local_device_info_provider_; |