1 // Copyright (c) 2012 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.
5 #ifndef SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_
6 #define SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_
10 // Note: This should confirm with the enums in sync.proto for
11 // GetUpdatesCallerInfo. They will have 1:1 mapping but this will only map
12 // to a subset of the GetUpdatesCallerInfo enum values.
13 enum ConfigureReason
{
14 // We should never be here during actual configure. This is for setting
16 CONFIGURE_REASON_UNKNOWN
,
18 // The client is configuring because the user opted to sync a different set
20 CONFIGURE_REASON_RECONFIGURATION
,
22 // The client is configuring because the client is being asked to migrate.
23 CONFIGURE_REASON_MIGRATION
,
25 // Setting up sync performs an initial config to download NIGORI data, and
26 // also a config to download initial data once the user selects types.
27 CONFIGURE_REASON_NEW_CLIENT
,
29 // A new datatype is enabled for syncing due to a client upgrade.
30 CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE
,
32 // A configuration due to enabling or disabling encrypted types due to
33 // cryptographer errors/resolutions.
34 CONFIGURE_REASON_CRYPTO
,
36 // Configure data types for backup/rollback.
37 CONFIGURE_REASON_BACKUP_ROLLBACK
,
39 // The client is configuring because of a programmatic type enable/disable,
40 // such as when an error is encountered/resolved.
41 CONFIGURE_REASON_PROGRAMMATIC
,
46 #endif // SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_