| // 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 |