1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_SYNC_ENGINE_STORE_TIMESTAMPS_COMMAND_H_ 6 #define CHROME_BROWSER_SYNC_ENGINE_STORE_TIMESTAMPS_COMMAND_H_ 7 #pragma once 8 9 #include "chrome/browser/sync/engine/syncer_command.h" 10 #include "chrome/browser/sync/engine/syncer_types.h" 11 12 namespace browser_sync { 13 14 // A syncer command that extracts the changelog timestamp information from 15 // a GetUpdatesResponse (fetched in DownloadUpdatesCommand) and stores 16 // it in the directory. This is meant to run immediately after 17 // ProcessUpdatesCommand. 18 // 19 // Preconditions - all updates in the SyncerSesssion have been stored in the 20 // database, meaning it is safe to update the persisted 21 // timestamps. 22 // 23 // Postconditions - The next_timestamp returned by the server will be 24 // saved into the directory (where it will be used 25 // the next time that DownloadUpdatesCommand runs). 26 class StoreTimestampsCommand : public SyncerCommand { 27 public: 28 StoreTimestampsCommand(); 29 virtual ~StoreTimestampsCommand(); 30 31 // SyncerCommand implementation. 32 virtual void ExecuteImpl(sessions::SyncSession* session); 33 34 private: 35 DISALLOW_COPY_AND_ASSIGN(StoreTimestampsCommand); 36 }; 37 38 } // namespace browser_sync 39 40 #endif // CHROME_BROWSER_SYNC_ENGINE_STORE_TIMESTAMPS_COMMAND_H_ 41