|  | // 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_ |