blob: 0f14b7bdfaeeea7dfdcd8f4e0cbab620da056007 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_ENGINE_CONFIGURE_REASON_H_
#define COMPONENTS_SYNC_ENGINE_CONFIGURE_REASON_H_
namespace syncer {
// Note: This should confirm with the enums in sync.proto for
// GetUpdatesCallerInfo. They will have 1:1 mapping but this will only map
// to a subset of the GetUpdatesCallerInfo enum values.
enum ConfigureReason {
// We should never be here during actual configure. This is for setting
// default values.
CONFIGURE_REASON_UNKNOWN,
// The client is configuring because the user opted to sync a different set
// of datatypes.
CONFIGURE_REASON_RECONFIGURATION,
// The client is configuring because the client is being asked to migrate.
CONFIGURE_REASON_MIGRATION,
// Setting up sync performs an initial config to download NIGORI data, and
// also a config to download initial data once the user selects types.
CONFIGURE_REASON_NEW_CLIENT,
// A new datatype is enabled for syncing due to a client upgrade.
CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE,
// A configuration due to enabling or disabling encrypted types due to
// cryptographer errors/resolutions.
CONFIGURE_REASON_CRYPTO,
// The client is configuring because of a programmatic type enable/disable,
// such as when an error is encountered/resolved.
CONFIGURE_REASON_PROGRAMMATIC,
// The client is configuring because it needs to "catch up" datatypes by
// downloading and applying any outstanding changes. There can be multiple
// reasons why a client performs a catch up. One reason is that the client is
// enabling passphrase encryption and must ensure it has all data locally
// before it clears server data.
CONFIGURE_REASON_CATCH_UP,
};
} // namespace syncer
#endif // COMPONENTS_SYNC_ENGINE_CONFIGURE_REASON_H_