// 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. #include "chrome/browser/predictors/predictor_table_base.h" #include "base/logging.h" #include "content/public/browser/browser_thread.h" #include "sql/connection.h" using content::BrowserThread; namespace predictors { PredictorTableBase::PredictorTableBase() : db_(NULL) { } PredictorTableBase::~PredictorTableBase() { } void PredictorTableBase::Initialize(sql::Connection* db) { CHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); db_ = db; CreateTableIfNonExistent(); } void PredictorTableBase::SetCancelled() { cancelled_.Set(); } sql::Connection* PredictorTableBase::DB() { CHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); return db_; } void PredictorTableBase::ResetDB() { CHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); db_ = NULL; } bool PredictorTableBase::CantAccessDatabase() { CHECK(BrowserThread::CurrentlyOn(BrowserThread::DB)); return cancelled_.IsSet() || !db_; } } // namespace predictors