1// Copyright (c) 2012 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. 4 5#ifndef CHROME_TEST_BASE_HISTORY_INDEX_RESTORE_OBSERVER_H_ 6#define CHROME_TEST_BASE_HISTORY_INDEX_RESTORE_OBSERVER_H_ 7 8#include "base/basictypes.h" 9#include "base/callback.h" 10#include "base/compiler_specific.h" 11#include "chrome/browser/history/in_memory_url_index.h" 12 13// HistoryIndexRestoreObserver is used when blocking until the InMemoryURLIndex 14// finishes restoring. As soon as the InMemoryURLIndex finishes restoring the 15// provided Closure is invoked. 16class HistoryIndexRestoreObserver 17 : public history::InMemoryURLIndex::RestoreCacheObserver { 18 public: 19 explicit HistoryIndexRestoreObserver(const base::Closure& task); 20 virtual ~HistoryIndexRestoreObserver(); 21 22 bool succeeded() const { return succeeded_; } 23 24 // RestoreCacheObserver implementation. 25 virtual void OnCacheRestoreFinished(bool success) OVERRIDE; 26 27 private: 28 base::Closure task_; 29 bool succeeded_; 30 31 DISALLOW_COPY_AND_ASSIGN(HistoryIndexRestoreObserver); 32}; 33 34#endif // CHROME_TEST_BASE_HISTORY_INDEX_RESTORE_OBSERVER_H_ 35