chromium/components/sync/engine/cycle/sync_cycle.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SYNC_ENGINE_CYCLE_SYNC_CYCLE_H_
#define COMPONENTS_SYNC_ENGINE_CYCLE_SYNC_CYCLE_H_

#include <map>
#include <memory>
#include <optional>
#include <set>
#include <utility>

#include "base/memory/raw_ptr.h"
#include "base/time/time.h"
#include "components/sync/base/data_type.h"
#include "components/sync/engine/cycle/status_controller.h"
#include "components/sync/engine/cycle/sync_cycle_context.h"
#include "components/sync/engine/cycle/sync_cycle_snapshot.h"
#include "components/sync/engine/sync_cycle_event.h"
#include "components/sync/engine/sync_protocol_error.h"

namespace syncer {

class ProtocolEvent;

// A class representing an attempt to synchronize the local syncable data
// store with a sync server. A SyncCycle instance is passed as a stateful
// bundle throughout the sync cycle.  The SyncCycle is not reused across
// sync cycles; each cycle starts with a new one.
class SyncCycle {};

}  // namespace syncer

#endif  // COMPONENTS_SYNC_ENGINE_CYCLE_SYNC_CYCLE_H_