blob: f703f18f5c2ad50a35c4f62cff655aa070c57ab7 [file] [log] [blame]
// 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_