1 // Copyright (c) 2009 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.
5 #ifndef WEBKIT_DATABASE_DATABASES_TABLE_H_
6 #define WEBKIT_DATABASE_DATABASES_TABLE_H_
10 #include "base/string16.h"
16 namespace webkit_database
{
18 struct DatabaseDetails
{
22 string16 origin_identifier
;
23 string16 database_name
;
28 class DatabasesTable
{
30 explicit DatabasesTable(sql::Connection
* db
) : db_(db
) { }
33 int64
GetDatabaseID(const string16
& origin_identifier
,
34 const string16
& database_name
);
35 bool GetDatabaseDetails(const string16
& origin_identifier
,
36 const string16
& database_name
,
37 DatabaseDetails
* details
);
38 bool InsertDatabaseDetails(const DatabaseDetails
& details
);
39 bool UpdateDatabaseDetails(const DatabaseDetails
& details
);
40 bool DeleteDatabaseDetails(const string16
& origin_identifier
,
41 const string16
& database_name
);
42 bool GetAllOrigins(std::vector
<string16
>* origins
);
43 bool GetAllDatabaseDetailsForOrigin(const string16
& origin_identifier
,
44 std::vector
<DatabaseDetails
>* details
);
45 bool DeleteOrigin(const string16
& origin_identifier
);
50 } // namespace webkit_database
52 #endif // WEBKIT_DATABASE_DATABASES_TABLE_H_