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 12namespace 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). 26class 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