Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / sync / internal_api / public / configure_reason.h
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_