1 /* 2 SPDX-FileCopyrightText: 2007 Glenn Ergeerts <glenn.ergeerts@telenet.be> 3 SPDX-FileCopyrightText: 2012 Marco Gulino <marco.gulino@xpeppers.com> 4 5 SPDX-License-Identifier: LGPL-2.0-or-later 6 */ 7 8 #pragma once 9 10 #include "favicon.h" 11 #include "fetchsqlite.h" 12 #include <QIcon> 13 14 class FaviconFromBlob : public Favicon 15 { 16 Q_OBJECT 17 public: 18 static FaviconFromBlob *chrome(const QString &profileDirectory, QObject *parent = nullptr); 19 static FaviconFromBlob *firefox(FetchSqlite *fetchSqlite, QObject *parent = nullptr); 20 static FaviconFromBlob *falkon(const QString &profileDirectory, QObject *parent = nullptr); 21 ~FaviconFromBlob() override; 22 QIcon iconFor(const QString &url) override; 23 24 public Q_SLOTS: 25 void prepare() override; 26 void teardown() override; 27 28 private: 29 FaviconFromBlob(const QString &profileName, const QString &query, const QString &blobColumn, FetchSqlite *fetchSqlite, QObject *parent = nullptr); 30 QString m_profileCacheDirectory; 31 QString m_query; 32 QString const m_blobcolumn; 33 FetchSqlite *m_fetchsqlite; 34 void cleanCacheDirectory(); 35 }; 36