1/*
2    Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
3
4    This library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public
6    License as published by the Free Software Foundation; either
7    version 2 of the License, or (at your option) any later version.
8
9    This library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public License
15    along with this library; see the file COPYING.LIB.  If not, write to
16    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17    Boston, MA 02110-1301, USA.
18*/
19
20
21#ifndef QtWebIconDatabaseClient_h
22#define QtWebIconDatabaseClient_h
23
24#include "qwebkitglobal.h"
25#include <QtCore/QObject>
26#include <WKIconDatabase.h>
27
28QT_BEGIN_NAMESPACE
29class QImage;
30class QUrl;
31QT_END_NAMESPACE
32
33namespace WebKit {
34
35class QtWebIconDatabaseClient : public QObject {
36    Q_OBJECT
37
38public:
39    QtWebIconDatabaseClient(WKContextRef);
40    ~QtWebIconDatabaseClient();
41
42    QImage iconImageForPageURL(const QString&);
43
44    void retainIconForPageURL(const QString&);
45    void releaseIconForPageURL(const QString&);
46
47    static unsigned updateID();
48
49public:
50    Q_SIGNAL void iconChangedForPageURL(const QString& pageURL);
51
52private:
53    static void didChangeIconForPageURL(WKIconDatabaseRef, WKURLRef pageURL, const void* clientInfo);
54    WKIconDatabaseRef m_iconDatabase;
55};
56
57} // namespace WebKit
58
59#endif
60