Index: sql/statement_unittest.cc |
diff --git a/sql/statement_unittest.cc b/sql/statement_unittest.cc |
index ffa8aef1f80d4f2e4fecf3a1532834e9d15fb4a2..3d32862c79276730c4333a58c71f1b2c208d5f77 100644 |
--- a/sql/statement_unittest.cc |
+++ b/sql/statement_unittest.cc |
@@ -4,6 +4,7 @@ |
#include <string> |
+#include "base/bind.h" |
#include "base/file_util.h" |
#include "base/files/scoped_temp_dir.h" |
#include "sql/connection.h" |
@@ -13,28 +14,12 @@ |
namespace { |
-class StatementErrorHandler : public sql::ErrorDelegate { |
- public: |
- StatementErrorHandler(int* error, std::string* sql_text) |
- : error_(error), |
- sql_text_(sql_text) {} |
- |
- virtual ~StatementErrorHandler() {} |
- |
- virtual int OnError(int error, sql::Connection* connection, |
- sql::Statement* stmt) OVERRIDE { |
- *error_ = error; |
- const char* sql_txt = stmt ? stmt->GetSQLStatement() : NULL; |
- *sql_text_ = sql_txt ? sql_txt : "no statement available"; |
- return error; |
- } |
- |
- private: |
- int* error_; |
- std::string* sql_text_; |
- |
- DISALLOW_COPY_AND_ASSIGN(StatementErrorHandler); |
-}; |
+void CaptureErrorCallback(int* error_pointer, std::string* sql_text, |
+ int error, sql::Statement* stmt) { |
+ *error_pointer = error; |
+ const char* text = stmt ? stmt->GetSQLStatement() : NULL; |
+ *sql_text = text ? text : "no statement available"; |
+} |
class SQLStatementTest : public testing::Test { |
public: |
@@ -45,7 +30,8 @@ class SQLStatementTest : public testing::Test { |
ASSERT_TRUE(db_.Open(temp_dir_.path().AppendASCII("SQLStatementTest.db"))); |
// The error delegate will set |error_| and |sql_text_| when any sqlite |
// statement operation returns an error code. |
- db_.set_error_delegate(new StatementErrorHandler(&error_, &sql_text_)); |
+ db_.set_error_callback(base::Bind(&CaptureErrorCallback, |
+ &error_, &sql_text_)); |
} |
virtual void TearDown() { |