| // Copyright 2014 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. |
| |
| #ifndef COMPONENTS_SUGGESTIONS_SUGGESTIONS_UTILS_H_ |
| #define COMPONENTS_SUGGESTIONS_SUGGESTIONS_UTILS_H_ |
| |
| namespace suggestions { |
| |
| // Establishes the different sync states that users of SuggestionsService can |
| // specify. There are three different concepts in the sync service: initialized, |
| // sync enabled and history sync enabled. |
| enum SyncState { |
| // State: Sync service is not initialized, yet not disabled. History sync |
| // state is unknown (since not initialized). |
| // Behavior: Does not issue a server request, but serves from cache if |
| // available. |
| NOT_INITIALIZED_ENABLED, |
| |
| // State: Sync service is initialized, sync is enabled and history sync is |
| // enabled. |
| // Behavior: Update suggestions from the server. Serve from cache on timeout. |
| INITIALIZED_ENABLED_HISTORY, |
| |
| // State: Sync service is disabled or history sync is disabled. |
| // Behavior: Do not issue a server request. Clear the cache. Serve empty |
| // suggestions. |
| SYNC_OR_HISTORY_SYNC_DISABLED, |
| }; |
| |
| // Users of SuggestionsService should always use this function to get SyncState. |
| // Note: In chrome/browser/search/suggestions/suggestions_utils.h, there is |
| // another variant of this function that takes a Profile* instead. |
| SyncState GetSyncState(bool sync_enabled, |
| bool sync_initialized, |
| bool history_sync_enabled); |
| |
| } // namespace suggestions |
| |
| #endif // COMPONENTS_SUGGESTIONS_SUGGESTIONS_UTILS_H_ |