1// Copyright 2013 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#include "sql/test/error_callback_support.h"
6
7#include "testing/gtest/include/gtest/gtest.h"
8
9namespace sql {
10
11void CaptureErrorCallback(int* error_pointer, int error, sql::Statement* stmt) {
12  *error_pointer = error;
13}
14
15ScopedErrorCallback::ScopedErrorCallback(
16    sql::Connection* db,
17    const sql::Connection::ErrorCallback& cb)
18    : db_(db) {
19  // Make sure someone isn't trying to nest things.
20  EXPECT_FALSE(db_->has_error_callback());
21  db_->set_error_callback(cb);
22}
23
24ScopedErrorCallback::~ScopedErrorCallback() {
25  db_->reset_error_callback();
26}
27
28}  // namespace
29