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. 4 5 #ifndef SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_ 7 8 namespace syncer { 9 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 15 // default values. 16 CONFIGURE_REASON_UNKNOWN, 17 18 // The client is configuring because the user opted to sync a different set 19 // of datatypes. 20 CONFIGURE_REASON_RECONFIGURATION, 21 22 // The client is configuring because the client is being asked to migrate. 23 CONFIGURE_REASON_MIGRATION, 24 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, 28 29 // A new datatype is enabled for syncing due to a client upgrade. 30 CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE, 31 32 // A configuration due to enabling or disabling encrypted types due to 33 // cryptographer errors/resolutions. 34 CONFIGURE_REASON_CRYPTO, 35 36 // Configure data types for backup/rollback. 37 CONFIGURE_REASON_BACKUP_ROLLBACK, 38 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, 42 }; 43 44 } // namespace syncer 45 46 #endif // SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_ 47