Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3386)

Unified Diff: chrome/browser/sync/util/sqlite_utils.h

Issue 7528026: sync: Put sqlite_utils.* into sqlite_utils namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/syncable/syncable_id.h ('k') | chrome/browser/sync/util/sqlite_utils.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/util/sqlite_utils.h
diff --git a/chrome/browser/sync/util/sqlite_utils.h b/chrome/browser/sync/util/sqlite_utils.h
index 42c04182e90d65acd8cd86dcc03d8055906f41c3..4ee5a39bb853f3a3bcfbd09a983c1ef6765fcb4e 100644
--- a/chrome/browser/sync/util/sqlite_utils.h
+++ b/chrome/browser/sync/util/sqlite_utils.h
@@ -15,18 +15,18 @@
#include "base/utf_string_conversions.h"
#include "third_party/sqlite/sqlite3.h"
-// forward declarations of classes defined here
class FilePath;
+
+namespace sqlite_utils {
+
class SQLTransaction;
class SQLNestedTransaction;
class SQLNestedTransactionSite;
class scoped_sqlite3_stmt_ptr;
class SQLStatement;
-//------------------------------------------------------------------------------
// Interface to be implemented by objects that can handle exceptional sqlite
// conditions. This way client code can focus on handling normal condtions.
-//------------------------------------------------------------------------------
class SQLErrorHandler {
public:
virtual ~SQLErrorHandler() {}
@@ -38,21 +38,17 @@ class SQLErrorHandler {
virtual int GetLastError() const = 0;
};
-//------------------------------------------------------------------------------
// The factory interface is used to create the different error handling
// strategies for debug, release and for diagnostic mode.
-//------------------------------------------------------------------------------
class SQLErrorHandlerFactory {
public:
virtual ~SQLErrorHandlerFactory() {}
virtual SQLErrorHandler* Make() = 0;
};
-//------------------------------------------------------------------------------
-// A wrapper for sqlite transactions that rollsback when the wrapper
-// goes out of scope if the caller has not already called Commit or Rollback.
+// A wrapper for sqlite transactions that rollsback when the wrapper goes out of
+// scope if the caller has not already called Commit or Rollback.
// Note: the constructor does NOT Begin a transaction.
-//------------------------------------------------------------------------------
class SQLTransaction {
public:
explicit SQLTransaction(sqlite3* db);
@@ -99,10 +95,7 @@ class SQLTransaction {
DISALLOW_COPY_AND_ASSIGN(SQLTransaction);
};
-
-//------------------------------------------------------------------------------
// A class for use with SQLNestedTransaction.
-//------------------------------------------------------------------------------
class SQLNestedTransactionSite {
protected:
SQLNestedTransactionSite() : db_(NULL), top_transaction_(NULL) {}
@@ -137,7 +130,6 @@ class SQLNestedTransactionSite {
friend class SQLNestedTransaction;
};
-//------------------------------------------------------------------------------
// SQLite does not support nested transactions. This class provides a gross
// approximation of nested transactions.
//
@@ -156,7 +148,6 @@ class SQLNestedTransactionSite {
//
// TODO(michaeln): demonstrate usage here
// TODO(michaeln): safegaurds to prevent mis-use
-//------------------------------------------------------------------------------
class SQLNestedTransaction : public SQLTransaction {
public:
explicit SQLNestedTransaction(SQLNestedTransactionSite* site);
@@ -172,9 +163,7 @@ class SQLNestedTransaction : public SQLTransaction {
DISALLOW_COPY_AND_ASSIGN(SQLNestedTransaction);
};
-//------------------------------------------------------------------------------
// A scoped sqlite statement that finalizes when it goes out of scope.
-//------------------------------------------------------------------------------
class scoped_sqlite3_stmt_ptr {
public:
~scoped_sqlite3_stmt_ptr() {
@@ -223,9 +212,7 @@ class scoped_sqlite3_stmt_ptr {
DISALLOW_COPY_AND_ASSIGN(scoped_sqlite3_stmt_ptr);
};
-//------------------------------------------------------------------------------
// A scoped sqlite statement with convenient C++ wrappers for sqlite3 APIs.
-//------------------------------------------------------------------------------
class SQLStatement : public scoped_sqlite3_stmt_ptr {
public:
SQLStatement() {}
@@ -315,9 +302,8 @@ class SQLStatement : public scoped_sqlite3_stmt_ptr {
int bind_value(int index, const sqlite3_value* value);
//
- // Column helpers (NOTE: index is 0-based)
+ // Column helpers (NOTE: index is 0-based).
//
-
int column_count();
int column_type(int index);
const void* column_blob(int index);
@@ -342,11 +328,7 @@ class SQLStatement : public scoped_sqlite3_stmt_ptr {
DISALLOW_COPY_AND_ASSIGN(SQLStatement);
};
-namespace sqlite_utils {
-
-//------------------------------------------------------------------------------
// A scoped sqlite database that closes when it goes out of scope.
-//------------------------------------------------------------------------------
class DBClose {
public:
inline void operator()(sqlite3* x) const {
« no previous file with comments | « chrome/browser/sync/syncable/syncable_id.h ('k') | chrome/browser/sync/util/sqlite_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698