blob: 6e1405b245acf6208908f85eece71a7f8d4f3b0d [file] [log] [blame]
// 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 the DebugInfo class for singleton events.
enum SingletonDebugEventType {
CONNECTION_STATUS_CHANGE = 1; // Connection status change. Note this
// gets generated even during a successful
// connection.
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.
ENCRYPTION_COMPLETE = 7; // Client has finished encrypting all data.
ACTIONABLE_ERROR = 8; // Client received an actionable error.
ENCRYPTED_TYPES_CHANGED = 9; // Set of encrypted types has changed.
// NOTE: until m25 bootstrap token updated also
// shared this field (erroneously).
PASSPHRASE_TYPE_CHANGED = 10; // The encryption passphrase state changed.
KEYSTORE_TOKEN_UPDATED = 11; // A new keystore encryption token was
// persisted.
CONFIGURE_COMPLETE = 12; // The datatype manager has finished an
// at least partially successful
// configuration and is once again syncing
// with the server.
BOOTSTRAP_TOKEN_UPDATED = 13; // A new cryptographer bootstrap token was
// generated.
}
// 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.
USER_ROLLBACK = 11; // Client told to stop syncing and roll back.
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.
RETRY = 13; // A retry GU to pick up updates missed by last GU due to
// replication delay, missing hints, etc.
}
}