• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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