// 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. RETRY = 13; // A retry GU to pick up updates missed by last GU due to // replication delay, missing hints, etc. } }