1 // Copyright (c) 2011 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 CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_
6 #define CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_
10 #include "base/compiler_specific.h"
11 #include "components/webdata/common/web_database_table.h"
17 // This class manages the WebApps tables within the SQLite database passed to
18 // the constructor. It expects the following schema:
20 // Note: The database stores time in seconds, UTC.
23 // url URL of the web app.
24 // has_all_images Do we have all the images?
27 // url URL of the web app.
28 // width Width of the image.
29 // height Height of the image.
30 // image PNG encoded image data.
32 class WebAppsTable
: public WebDatabaseTable
{
35 virtual ~WebAppsTable() {}
37 // Retrieves the WebAppsTable* owned by |database|.
38 static WebAppsTable
* FromWebDatabase(WebDatabase
* database
);
40 virtual WebDatabaseTable::TypeKey
GetTypeKey() const OVERRIDE
;
41 virtual bool Init(sql::Connection
* db
, sql::MetaTable
* meta_table
) OVERRIDE
;
42 virtual bool IsSyncable() OVERRIDE
;
43 virtual bool MigrateToVersion(int version
,
44 bool* update_compatible_version
) OVERRIDE
;
46 bool SetWebAppImage(const GURL
& url
, const SkBitmap
& image
);
48 // Returns true if all images are retrieved. Returns false if there is a
49 // database error. In this case, the state of images is undefined; it may have
50 // partial results or no results from the call.
51 bool GetWebAppImages(const GURL
& url
, std::vector
<SkBitmap
>* images
);
53 bool SetWebAppHasAllImages(const GURL
& url
, bool has_all_images
);
54 bool GetWebAppHasAllImages(const GURL
& url
);
56 bool RemoveWebApp(const GURL
& url
);
59 bool InitWebAppIconsTable();
60 bool InitWebAppsTable();
62 DISALLOW_COPY_AND_ASSIGN(WebAppsTable
);
65 #endif // CHROME_BROWSER_WEBDATA_WEB_APPS_TABLE_H_