summaryrefslogtreecommitdiffstats
path: root/chromium/sync/protocol/sync_enums.proto
blob: 348d6d1d3549f9358850628c10cff606a456b7fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
// 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.
//
// Sync protocol for communication between sync client and server.

// Update proto_value_conversions{.h,.cc,_unittest.cc} if you change
// any fields in this file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;
option retain_unknown_fields = true;

package sync_pb;

message SyncEnums {
  // These events are sent by |SyncManager| class. Note: In the code they each
  // of these events have some additional info but we are not sending them to
  // server.
  enum EventType {
    AUTH_ERROR = 1; // Auth error. Note this gets generated even during
                    // successful auth with the error set to none.
    UPDATED_TOKEN = 2; // Client received an updated token.
    PASSPHRASE_REQUIRED = 3; // Cryptographer needs passphrase.
    PASSPHRASE_ACCEPTED = 4; // Passphrase was accepted by cryptographer.
    INITIALIZATION_COMPLETE = 5; // Sync Initialization is complete.

    // |STOP_SYNCING_PERMANENTLY| event should never be seen by the server in
    // the absence of bugs.
    STOP_SYNCING_PERMANENTLY = 6; // Server sent stop syncing permanently.

    ENCRYPTED_TYPES_CHANGED = 9; // Set of encrypted types has changed.
    ENCRYPTION_COMPLETE = 7; // Client has finished encrypting all data.
    ACTIONABLE_ERROR = 8; // Client received an actionable error.
  }

  // See content/public/common/page_transition_types.h for detailed
  // information on the values of PageTransition and
  // PageTransitionRedirectType below.

  // Types of transitions between pages.
  enum PageTransition {
    LINK = 0;
    TYPED = 1;
    AUTO_BOOKMARK = 2;
    AUTO_SUBFRAME = 3;
    MANUAL_SUBFRAME = 4;
    GENERATED = 5;
    AUTO_TOPLEVEL = 6;
    FORM_SUBMIT = 7;
    RELOAD = 8;
    KEYWORD = 9;
    KEYWORD_GENERATED = 10;
    // The below two were mistakenly added but never properly used. They are
    // actually transition qualifiers, and are set independently of other
    // qualifiers and of the main transitions. See session_specifics.proto for
    // the list of synced transition qualifiers.
    // CHAIN_START = 12;     Deprecated.
    // CHAIN_END = 13;       Deprecated.
  }

  // Types of redirects that triggered a transition.
  enum PageTransitionRedirectType {
    CLIENT_REDIRECT = 1;
    SERVER_REDIRECT = 2;
  }

  enum ErrorType {
    SUCCESS            = 0;
    ACCESS_DENIED      = 1;   // Returned when the user doesn't have access to
                              // store (instead of HTTP 401).
    NOT_MY_BIRTHDAY    = 2;   // Returned when the server and client disagree on
                              // the store birthday.
    THROTTLED          = 3;   // Returned when the store has exceeded the
                              // allowed bandwidth utilization.
    AUTH_EXPIRED       = 4;   // Auth token or cookie has expired.
    USER_NOT_ACTIVATED = 5;   // User doesn't have the Chrome bit set on that
                              // Google Account.
    AUTH_INVALID       = 6;   // Auth token or cookie is otherwise invalid.
    CLEAR_PENDING      = 7;   // A clear of the user data is pending (e.g.
                              // initiated by privacy request).  Client should
                              // come back later.
    TRANSIENT_ERROR    = 8;   // A transient error occured (eg. backend
                              // timeout). Client should try again later.
    MIGRATION_DONE     = 9;   // Migration has finished for one or more data
                              // types.  Client should clear the cache for
                              // these data types only and then re-sync with
                              // a server.
    DISABLED_BY_ADMIN = 10;   // An administrator disabled sync for this domain.
    UNKNOWN            = 100; // Unknown value. This should never be explicitly
                              // used; it is the default value when an
                              // out-of-date client parses a value it doesn't
                              // recognize.
  }

  enum Action {
    UPGRADE_CLIENT              = 0; // Upgrade the client to latest version.
    CLEAR_USER_DATA_AND_RESYNC  = 1; // Clear user data from dashboard and
                                     // setup sync again.
    ENABLE_SYNC_ON_ACCOUNT      = 2; // The administrator needs to enable sync
                                     // on the account.
    STOP_AND_RESTART_SYNC       = 3; // Stop sync and set up sync again.
    DISABLE_SYNC_ON_CLIENT      = 4; // Wipe the client of all sync data and
                                     // stop syncing.
    UNKNOWN_ACTION              = 5; // This is the default.
  }

  enum DeviceType {
    TYPE_WIN = 1;
    TYPE_MAC = 2;
    TYPE_LINUX = 3;
    TYPE_CROS = 4;
    TYPE_OTHER = 5;
    TYPE_PHONE = 6;
    TYPE_TABLET = 7;
  }

  // This is the successor to GetUpdatesSource.  It merges the "normal mode"
  // values (LOCAL, NOTIFICATION and DATATYPE_REFRESH), which were never really
  // mutually exclusive to being with, into the GU_TRIGGER value.  It also
  // drops support for some old values that are not supported by newer clients.
  //
  // Mind the gaps: Some values are intentionally unused because we want to
  // keep the values in sync with GetUpdatesSource as much as possible.  Please
  // don't add any values < 12 unless there's a good reason for it.
  //
  // Introduced in M28.
  enum GetUpdatesOrigin {
    UNKNOWN_ORIGIN = 0;  // The source was not set by the caller.
    PERIODIC = 4;  // The source of the update was periodic polling.
    NEWLY_SUPPORTED_DATATYPE = 7;   // The client is in configuration mode
                                    // because it's syncing all datatypes, and
                                    // support for a new datatype was recently
                                    // released via a software auto-update.
    MIGRATION = 8;         // The client is in configuration mode because a
                           // MIGRATION_DONE error previously returned by the
                           // server necessitated resynchronization.
    NEW_CLIENT = 9;        // The client is in configuration mode because the
                           // user enabled sync for the first time.  Not to be
                           // confused with FIRST_UPDATE.
    RECONFIGURATION = 10;  // The client is in configuration mode because the
                           // user opted to sync a different set of datatypes.
    GU_TRIGGER = 12; // The client is in 'normal' mode.  It may have several
                     // reasons for requesting an update.  See the per-type
                     // GetUpdateTriggers message for more details.
  }
}