summaryrefslogtreecommitdiffstats
path: root/storage/browser/database/databases_table.h
diff options
context:
space:
mode:
Diffstat (limited to 'storage/browser/database/databases_table.h')
-rw-r--r--storage/browser/database/databases_table.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/storage/browser/database/databases_table.h b/storage/browser/database/databases_table.h
new file mode 100644
index 0000000..2ade812
--- /dev/null
+++ b/storage/browser/database/databases_table.h
@@ -0,0 +1,54 @@
+// Copyright (c) 2009 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.
+
+#ifndef STORAGE_BROWSER_DATABASE_DATABASES_TABLE_H_
+#define STORAGE_BROWSER_DATABASE_DATABASES_TABLE_H_
+
+#include <vector>
+
+#include "base/strings/string16.h"
+#include "storage/browser/storage_browser_export.h"
+
+namespace sql {
+class Connection;
+}
+
+namespace storage {
+
+struct STORAGE_EXPORT_PRIVATE DatabaseDetails {
+ DatabaseDetails();
+ ~DatabaseDetails();
+
+ std::string origin_identifier;
+ base::string16 database_name;
+ base::string16 description;
+ int64 estimated_size;
+};
+
+class STORAGE_EXPORT_PRIVATE DatabasesTable {
+ public:
+ explicit DatabasesTable(sql::Connection* db) : db_(db) { }
+
+ bool Init();
+ int64 GetDatabaseID(const std::string& origin_identifier,
+ const base::string16& database_name);
+ bool GetDatabaseDetails(const std::string& origin_identifier,
+ const base::string16& database_name,
+ DatabaseDetails* details);
+ bool InsertDatabaseDetails(const DatabaseDetails& details);
+ bool UpdateDatabaseDetails(const DatabaseDetails& details);
+ bool DeleteDatabaseDetails(const std::string& origin_identifier,
+ const base::string16& database_name);
+ bool GetAllOriginIdentifiers(std::vector<std::string>* origin_identifiers);
+ bool GetAllDatabaseDetailsForOriginIdentifier(
+ const std::string& origin_identifier,
+ std::vector<DatabaseDetails>* details);
+ bool DeleteOriginIdentifier(const std::string& origin_identifier);
+ private:
+ sql::Connection* db_;
+};
+
+} // namespace storage
+
+#endif // STORAGE_BROWSER_DATABASE_DATABASES_TABLE_H_