configure_reason.h revision 868fa2fe829687343ffae624259930155e16dbd8
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
8namespace 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.
13enum 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
37}  // namespace syncer
38
39#endif  // SYNC_INTERNAL_API_PUBLIC_CONFIGURE_REASON_H_
40