aboutsummaryrefslogtreecommitdiff
path: root/lib/web/urlfilter/filterdomain.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-07-05 19:37:05 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-07-05 19:37:05 +0200
commitaaed4ebc642d95dfb3cddab4fad196e870077bcf (patch)
tree1534dccf6ffd1b6ae3f4d85b13201c0d474c3f78 /lib/web/urlfilter/filterdomain.h
parentAdd filter.header (diff)
downloadsmolbote-aaed4ebc642d95dfb3cddab4fad196e870077bcf.tar.xz
Add web/urlfilter
Diffstat (limited to 'lib/web/urlfilter/filterdomain.h')
-rw-r--r--lib/web/urlfilter/filterdomain.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/web/urlfilter/filterdomain.h b/lib/web/urlfilter/filterdomain.h
new file mode 100644
index 0000000..2173bfc
--- /dev/null
+++ b/lib/web/urlfilter/filterdomain.h
@@ -0,0 +1,33 @@
+#ifndef FILTERDOMAIN_H
+#define FILTERDOMAIN_H
+
+#include <QObject>
+#include <QVector>
+
+class FilterDomain : public QObject
+{
+ Q_OBJECT
+public:
+ enum MatchType {
+ Whitelist, // only match added domains
+ Blacklist, // only match domains not added
+ WhitelistAll, // match all domains
+ BlacklistAll // match no domains
+ };
+
+ explicit FilterDomain(MatchType type = Whitelist, QObject *parent = nullptr);
+
+ void setType(MatchType type);
+ void addDomain(const QString &domain);
+
+ bool hasMatch(const QString &host) const;
+
+private:
+ MatchType m_type;
+ QVector<QString> m_domains;
+};
+
+// function taken from KDE/Falkon
+bool isMatchingDomain(const QString &domain, const QString &filter);
+
+#endif // FILTERDOMAIN_H