blob: 93cce98e290ec749024ceb5c758ae4984694c2db [file] [log] [blame]
// Copyright 2014 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_SHUTDOWN_REASON_H_
#define COMPONENTS_SYNC_ENGINE_SHUTDOWN_REASON_H_
#include "components/sync/base/sync_stop_metadata_fate.h"
namespace syncer {
// Reason for shutting down the sync engine.
enum class ShutdownReason {
// The Sync engine is being stopped with the expectation that it will be
// started again for the same user before too long, so any Sync metadata
// should be kept. An example is content-area signout while Sync-the-feature
// is enabled.
STOP_SYNC_AND_KEEP_DATA,
// The Sync engine is being stopped with the expectation that it will *not* be
// started again for the same user soon, or with the explicit intention of
// clearing Sync metadata. Examples include signout while only
// Sync-the-transport is active, the "Turn off" button in settings for
// Sync-the-feature users, and clearing data via the Sync dashboard.
DISABLE_SYNC_AND_CLEAR_DATA,
// The browser is being shut down; any Sync metadata should be kept.
BROWSER_SHUTDOWN_AND_KEEP_DATA,
};
const char* ShutdownReasonToString(ShutdownReason reason);
SyncStopMetadataFate ShutdownReasonToSyncStopMetadataFate(
ShutdownReason shutdown_reason);
} // namespace syncer
#endif // COMPONENTS_SYNC_ENGINE_SHUTDOWN_REASON_H_