ExtensionSyncService: listen for relevant changes instead of being explicitly called...
[chromium-blink-merge.git] / chrome / browser / sync_file_system / sync_service_state.h
blob0d67b3e828c3d322454d59863425fb6732448d35
1 // Copyright (c) 2013 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.
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_SERVICE_STATE_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_SERVICE_STATE_H_
8 namespace sync_file_system {
10 // This enum is translated into syncFileSystem.ServiceStatus
11 // (defined in chrome/common/extensions/api/sync_file_system.idl).
12 // When you update this enum please consider updating the other enum in IDL.
13 enum SyncServiceState {
14 // The sync service is up and running, or has not seen any errors yet.
15 // The consumer of this service can make new requests while the
16 // service is in this state.
17 SYNC_SERVICE_RUNNING,
19 // The sync service is not synchronizing files because the remote service
20 // needs to be authenticated by the user to proceed.
21 // This state may be automatically resolved when the underlying
22 // network condition or service condition changes.
23 // The consumer of this service can still make new requests but
24 // they may fail (with recoverable error code).
25 SYNC_SERVICE_AUTHENTICATION_REQUIRED,
27 // The sync service is not synchronizing files because the remote service
28 // is (temporarily) unavailable due to some recoverable errors, e.g.
29 // network is offline, the remote service is down or not
30 // reachable etc. More details should be given by |description| parameter
31 // in OnSyncStateUpdated (which could contain service-specific details).
32 SYNC_SERVICE_TEMPORARY_UNAVAILABLE,
34 // The sync service is disabled by configuration change or due to some
35 // unrecoverable errors, e.g. local database corruption.
36 // Any new requests will immediately fail when the service is in
37 // this state.
38 SYNC_SERVICE_DISABLED,
41 } // namespace sync_file_system
43 #endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_SERVICE_STATE_H_